我想滚动到使用Selenium和Firefox驱动程序的页面底部。
这是我到目前为止所拥有的:
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')
htmlElem.send_keys(Keys.END) #scrolls to bottom
不幸的是,我的代码失败并出现以下异常:
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
htmlElem.send_keys(Keys.END) #scrolls to bottom
File "C:UsersacademyAppDataLocalProgramsPythonPython35libsite-
packagesseleniumwebdriverremotewebelement.py", line 352, in send_keys
'value': keys_to_typing(value)})
File "C:UsersacademyAppDataLocalProgramsPythonPython35libsite-
packagesseleniumwebdriverremotewebelement.py", line 501, in _execute
return self._parent.execute(command, params)
File "C:UsersacademyAppDataLocalProgramsPythonPython35libsite-
packagesseleniumwebdriverremotewebdriver.py", line 308, in execute
self.error_handler.check_response(response)
File "C:UsersacademyAppDataLocalProgramsPythonPython35libsite-
packagesseleniumwebdriverremoteerrorhandler.py", line 194, in
check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message:
Element is not visible
使用WebDriverWait
(显式等待(直到元素可见 我对 Python 不太了解,所以只给出一般语法
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser=webdriver.Firefox()
browser.get('http://nostarch.com')
htmlElem=WebDriverWait(browser, 5).until(
EC.presence_of_element_located((By.find_element_by_tag_name, "html"))
htmlElem.send_keys(Keys.END)
要使用Selenium滚动到页面底部,您可以使用:
-
蟒
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
-
爪哇岛
((JavascriptExecutor)driver).executeScript("window.scrollTo(0, document.body.scrollHeight);");