Selenium - 元素不可见[Python]

时间:2016-10-26 07:17:59

标签: python selenium visible

我目前正在使用“使用Python自动化无聊的东西”一书中的CH11,我正在浏览Selenium模块。我正试图移动到页面的末尾,但我遇到了一些问题。我也尝试在这个网站上查找类似的问题并且不幸地尝试了建议的解决方案但没有成功。这是我的代码,当我在IDLE Shell中键入它时:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser= webdriver.Firefox()
browser.get('http://nostarch.com')
htmlElem= browser.find_element_by_tag_name('html')
type(htmlElem)
<class 'selenium.webdriver.firefox.webelement.FirefoxWebElement'>
htmlElem.send_keys(Keys.END)  # Error

例外 - :

Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    htmlElem.send_keys(Keys.END)
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\remote\webelement.py", line 347, in send_keys
    self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': keys_to_typing(value)})
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\remote\webelement.py", line 494, in _execute
    return self._parent.execute(command, params)
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "C:\Python\Python35\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException: Message: Element is not visible

显然html元素不可见?我不明白是怎么回事,因为它似乎找到了html元素,就像在代码上看到的那样没有任何问题,但Key.ENTER是我得到错误的地方。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

刚刚使用Chrome驱动程序对以下内容进行了测试,它可以正常运行(它也适用于Firefox):

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Chrome()
browser.get('http://nostarch.com')
body_elem = browser.find_element_by_tag_name('body')
body_elem.send_keys(Keys.END)