首页 文章

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

提问于
浏览
4

我在使用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 .

有什么建议?

3 回答

  • 8

    您可以考虑首先在 HTML DOM 中找到元素,然后我们可以将 scroll 元素放入Viewport中,如下所示:

    element = driver.find_element_by_xpath("element_xpath")
    self.driver.execute_script("return arguments[0].scrollIntoView(true);", element)
    
  • 0

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

    driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.HOME)
    
  • 3
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    driver = webdriver.Chrome()
    driver.get("__")
    
    #to scroll try use the following command
    driver.execute_script("scrollBy(0,250);")
    

    它会工作!!

相关问题