当前位置: 首页 > 面试题库 >

如何在python中使用Selenium Webdriver滚动网页?

万铭
2023-03-14
问题内容

我目前正在使用Selenium Webdriver通过Facebook用户朋友页面进行解析,并从AJAX脚本中提取所有ID。但是我需要向下滚动才能得到所有的朋友。如何在Selenium中向下滚动。我正在使用python


问题答案:

你可以使用

driver.execute_script("window.scrollTo(0, Y)") 

其中Y是高度(在全高清显示器上为1080)。

你也可以使用

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

滚动到页面底部。

如果你想滚动到无限加载的页面,例如社交网络页面,facebook等

SCROLL_PAUSE_TIME = 0.5

# Get scroll height
last_height = driver.execute_script("return document.body.scrollHeight")

while True:
    # Scroll down to bottom
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

    # Wait to load page
    time.sleep(SCROLL_PAUSE_TIME)

    # Calculate new scroll height and compare with last scroll height
    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height

另一种方法是,选择一个对象,然后

label.sendKeys(Keys.PAGE_DOWN);


 类似资料:
  • 我目前正在使用selenium webdriver通过facebook用户朋友页面进行解析,并从AJAX脚本中提取所有ID。但我需要向下滚动才能找到所有的朋友。我如何在硒向下滚动。我正在使用Python。

  • 我正在抓取这个网页的用户名,在滚动后加载用户 指向页面的Url:“http://www.quora.com/Kevin-Rose/followers" 我知道页面上的用户数(本例中的用户数为43812),如何滚动页面直到加载所有用户?我在互联网上搜索过同样的代码,在任何地方我都能找到几乎相同的代码行: driver.execute_script("window.scroll至(0)") 如何确定垂

  • 我在Selenium 1(又名Selenium RC)中编写了以下代码,用于使用java滚动页面: Selenium 2(WebDriver)中的等效代码是什么?

  • 问题内容: 我正在抓取此网页中的用户名,该用户名在滚动后会加载用户 转到页面的网址:“ http://www.quora.com/Kevin- Rose/followers ” 我知道页面上的用户数量(在这种情况下,编号为43812)如何滚动页面,直到所有用户加载完毕?我在互联网上搜索了相同的代码,到处都可以找到几乎相同的代码行: driver.execute_script(“ window.sc

  • 问题内容: 我如何在seleniumwebdriver 3.0 beta版本中使用geckodriver。当我实例化Firefox时: 我得到错误: 线程“主”中的异常java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置;否则,必须执行以下操作:有关更多信息,请参见 https://github.co

  • 我正在尝试滚动到一个页面的末尾,这样我就可以使所有的数据可见并提取出来。我试图为它找到一个命令,但它在java(driver.executescript)中可用,但在Python中找不到。现在我正在让电脑按下end键上千次: 我还尝试了,但它会滚动到加载页面的末尾,与end键所做的相同。一旦在页面底部,下一个内容加载。但现在它不再滚动了。 我知道会有一个很好的替代方案。 如何在Python中使用s