使用Selenium在Python中滚动到页面顶部

cmp*_*ore 10 javascript python selenium webdriver selenium-webdriver

我在使用Python和Selenium时遇到滚动到网页顶部的问题.

当页面由于某种原因加载时,您将被带到页面底部(这是由于修复).但是,当我试图滚动到顶部时,它不起作用.

我尝试了以下方法:

self.driver.execute_script("scroll(0, -250);")
Run Code Online (Sandbox Code Playgroud)

self.driver.execute_script("scroll(0, 0);")
Run Code Online (Sandbox Code Playgroud)

我也试过找到元素然后滚动到它:

self.driver.execute_script("arguments[0].scrollIntoView()", element)
Run Code Online (Sandbox Code Playgroud)

向上滚动到元素时,上面的scrollIntoView()代码可以正常工作.但是,它不能向上滚动.

我试过这个运行Chrome驱动程序和PhantomJs.

有什么建议?

Sun*_*rat 13

您只需使用CTRL + HOME键即可.它将滚动到页面顶部.

driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.HOME)
Run Code Online (Sandbox Code Playgroud)

  • 可能需要先“from selenium.webdriver.common.keys import Keys”? (2认同)

Deb*_*anB 9

可以考虑先定位元素HTML DOM,然后我们可以scroll将元素放入Viewport如下:

element = driver.find_element_by_xpath("element_xpath")
self.driver.execute_script("return arguments[0].scrollIntoView(true);", element)
Run Code Online (Sandbox Code Playgroud)