tyen0921

  1、Webdriver 中调用JS,由于页面中的input是被隐藏起来的,所以必须用JS把隐藏的元素显示出来;

       browser.find_element_by_xpath("//div[@id=\'surveyItemsWrap\']/div/div[2]/button[2]").click()
        time.sleep(5)
        inputs=browser.find_element_by_xpath("//body/input")
        js="var q=document.getElementByClassName(\'ts_bg alert\');q.style.display=\'block\';"
        #  setAttribute(\"style\",\"display:block\     
        print "js"
        browser.execute_script(js)
        browser.find_element_by_xpath("//body/input").send_keys(\'F:\\Img\2.jpg\')
        print "ok"

 

报错:

Traceback (most recent call last):
  File "E:\eclipse\PythonCase\src\Survey_test\LogicMore.py", line 85, in test_Surveyor
    browser.execute_script(js)
  File "D:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 396, in execute_script
    {\'script\': script, \'args\':converted_args})[\'value\']
  File "D:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 164, in execute
    self.error_handler.check_response(response)
  File "D:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 164, in check_response
    raise exception_class(message, screen, stacktrace)
WebDriverException: Message: u"unknown error: Object #<HTMLDocument> has no method \'getElementByClassName\'\n  (Session info: chrome=28.0.1500.72)\n  (Driver info: chromedriver=2.3,platform=Windows NT 6.1 SP1 x86_64)" 

PS: JS有待加深学习!

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-08-29
  • 2021-12-23
  • 2021-11-16
  • 2021-04-12
  • 2021-07-18
  • 2022-02-21
猜你喜欢
  • 2022-12-23
  • 2021-12-08
  • 2022-02-03
  • 2021-12-25
  • 2022-12-23
  • 2021-09-15
  • 2021-05-26
相关资源
相似解决方案