【发布时间】:2018-01-16 12:48:14
【问题描述】:
我在使用 Python 和 Selenium 时滚动到网页顶部时遇到问题。
当页面由于某种原因加载时,您会被带到页面底部(这将被修复)。但是,当我尝试滚动到顶部时,它不起作用。
我尝试了以下方法:
self.driver.execute_script("scroll(0, -250);")
和
self.driver.execute_script("scroll(0, 0);")
我也尝试过定位元素然后滚动到它:
self.driver.execute_script("arguments[0].scrollIntoView()", element)
上面的 scrollIntoView() 代码在向下滚动到元素时起作用。但是,它不能向上滚动。
我已经尝试过这个正在运行的 Chrome 驱动程序和 PhantomJs。
有什么建议吗?
【问题讨论】:
-
您是否尝试过将
window.scrollTo(0, 0);放入您的execute_script中? -
@mangoHero1 我试过
self.driver.window.scroll("window.scroll(0, 0);"),脚本显示以下错误:self.driver.window.scroll("window.scroll(0, 0);") AttributeError: “WebDriver”对象没有属性“窗口” -
@mangoHero1 抱歉,我看到错字已更正并做了以下操作:
self.driver.execute_script("window.scroll(0, 0);")仍然没有向上滚动。 -
正如 mangoHero 指出的那样——你不知何故错过了——它不是“滚动”,而是“滚动到”。
-
@jlaur 是的,对不起,这是在深夜完成的,我输入了上面的代码。我实际尝试过但没有用的方法如下:
self.driver.execute_script("window.scrollTo(0, 0);")
标签: javascript python selenium selenium-webdriver webdriver