在 Web 自动化领域,Selenium Webdriver 是用于网页导航和交互的值得信赖的工具。自动化任务时面临的一个常见挑战是向下滚动网页以访问其他内容。本文深入探讨了在 Python 中使用 Selenium Webdriver 向下滚动的各种方法。
要滚动到页面上的特定高度,请使用以下语法:
driver.execute_script("window.scrollTo(0, Y)")
其中 Y 表示所需的高度(以像素为单位)。例如,要向下滚动到 1080 像素的高度(全高清显示器的高度),您可以使用:
driver.execute_script("window.scrollTo(0, 1080)")
到滚动到页面的最底部,执行以下代码:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
此命令可确保您到达页面的末尾
对于使用无限滚动的网页(例如社交媒体源),您需要实现自定义滚动机制:
SCROLL_PAUSE_TIME = 0.5 # Get the initial scroll height last_height = driver.execute_script("return document.body.scrollHeight") while True: # Scroll down to the bottom driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # Allow time for the page to load time.sleep(SCROLL_PAUSE_TIME) # Calculate the new scroll height and compare it with the previous one new_height = driver.execute_script("return document.body.scrollHeight") if new_height == last_height: break last_height = new_height
If如果您愿意,您可以在页面上选择一个元素并直接滚动到该元素:
label = driver.find_element_by_css_selector("body") label.send_keys(Keys.PAGE_DOWN)
通过选择一个元素并发送 Keys.PAGE_DOWN 命令,页面将向下滚动一页。
以上是如何在 Python 中使用 Selenium Webdriver 滚动网页?的详细内容。更多信息请关注PHP中文网其他相关文章!