【发布时间】:2016-06-13 16:26:45
【问题描述】:
我正在使用 Python 的 Selenium 来导航动态网页 (link)。
我想自动向下滚动到页面上的 y 点。我尝试了各种方法来编写此代码,这似乎适用于其他页面,但不适用于此特定网页。
我的一些努力似乎不适用于带有 Selenium 的 Firefox:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://en.boerse-frankfurt.de/etp/Deka-Oekom-Euro-Nachhaltigkeit-UCITS-ETF-DE000ETFL474")
通过滚动到 y 位置:
driver.execute_script("window.scrollTo(0, 1400);")
或者通过查找元素:
try:
find_scrollpoint = driver.find_element_by_xpath("//*[@id='main-wrapper']/div[10]/div/div[1]/div[1]")
except:
pass
else:
scrollpoint = find_scrollpoint.location["y"]
driver.execute_script("window.scrollTo(0, scrollpoint);")
问题:
在这样的网页上可能出现什么异常情况,这个非常典型的scrollTo 代码可能会失败?
可以做些什么来减轻它?也许按键向下滚动 - 但它仍然必须知道何时停止按下。
【问题讨论】: