硒 - 元素不可见 [Python]
Selenium - Element is Not Visible [Python]
我目前在 "Automate the Boring Stuff with 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
是我遇到错误的地方。
任何帮助将不胜感激。
刚刚使用 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)
我目前在 "Automate the Boring Stuff with 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
是我遇到错误的地方。
任何帮助将不胜感激。
刚刚使用 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)