webdriver:ElementNotVisibleException: Message: u'Element is not currently visibl

时间:2022-12-28 09:24:18
1.Firefox+windows+python的环境,运行如下代码:
from selenium import webdriver
browser=webdriver.Firefox()
browser.get('http://baidu.com')
browser.find_element_by_id('kw').send_keys('selenium')
browser.find_element_by_id('su').click()
browser.quit()
产生错误:
Traceback (most recent call last):
  File "C:/Python2014/0728.py", line 4, in <module>
    browser.find_element_by_id('kw').send_keys('selenium')
  File "C:\Python2014\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\webelement.py", line 293, in send_keys
    self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': typing})
  File "C:\Python2014\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\webelement.py", line 370, in _execute
    return self._parent.execute(command, params)
  File "C:\Python2014\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 173, in execute
    self.error_handler.check_response(response)
  File "C:\Python2014\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\errorhandler.py", line 164, in check_response
    raise exception_class(message, screen, stacktrace)
ElementNotVisibleException: Message: u'Element is not currently visible and so may not be interacted with' ; Stacktrace: 
    at fxdriver.preconditions.visible (file:///c:/users/siffyw/appdata/local/temp/tmpx37dnz/extensions/fxdriver@googlecode.com/components/command_processor.js:8791:5)
    at DelayedCommand.prototype.checkPreconditions_ (file:///c:/users/siffyw/appdata/local/temp/tmpx37dnz/extensions/fxdriver@googlecode.com/components/command_processor.js:11438:1)
    at DelayedCommand.prototype.executeInternal_/h (file:///c:/users/siffyw/appdata/local/temp/tmpx37dnz/extensions/fxdriver@googlecode.com/components/command_processor.js:11455:11)
    at DelayedCommand.prototype.executeInternal_ (file:///c:/users/siffyw/appdata/local/temp/tmpx37dnz/extensions/fxdriver@googlecode.com/components/command_processor.js:11460:7)
    at DelayedCommand.prototype.execute/< (file:///c:/users/siffyw/appdata/local/temp/tmpx37dnz/extensions/fxdriver@googlecode.com/components/command_processor.js:11402:5) 
2.浏览器改为Ie,错误如下:

Traceback (most recent call last):
  File "C:/Python2014/0728.py", line 4, in <module>
    browser.find_element_by_id('kw').send_keys('selenium')
  File "C:\Python2014\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 206, in find_element_by_id
    return self.find_element(by=By.ID, value=id_)
  File "C:\Python2014\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 662, in find_element
    {'using': by, 'value': value})['value']
  File "C:\Python2014\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 173, in execute
    self.error_handler.check_response(response)
  File "C:\Python2014\lib\site-packages\selenium-2.42.1-py2.7.egg\selenium\webdriver\remote\errorhandler.py", line 164, in check_response
    raise exception_class(message, screen, stacktrace)
NoSuchElementException: Message: u'Unable to find element with id == kw' 
PS:这个问题困扰小女子多时,迟迟不得解决,求大牛赐教~~

3 个解决方案

#1


我遇到和你一模一样的问题

我是用ROBOTFramework 写的测试案例
在FIREFOX下正常运行,但是在IE9下运行,就报这个错误。
搭车同求,同时求你联系方式,一同探讨。
我QQ:一六3壹二5 1 三

#2


因为你打开的百度网页,没有id值为kw和su的,你看下应该是什么,改下就行了

#3


id值改为kw1和su1就可以了

#1


我遇到和你一模一样的问题

我是用ROBOTFramework 写的测试案例
在FIREFOX下正常运行,但是在IE9下运行,就报这个错误。
搭车同求,同时求你联系方式,一同探讨。
我QQ:一六3壹二5 1 三

#2


因为你打开的百度网页,没有id值为kw和su的,你看下应该是什么,改下就行了

#3


id值改为kw1和su1就可以了