gpt4 book ai didi

python - 使用 Selenium 滚动页面的有效方法

转载 作者:太空狗 更新时间:2023-10-30 02:11:50 24 4
gpt4 key购买 nike

我目前正在使用 Python 中的 Firefox 驱动程序 Selenium 对滚动进行硬编码,无论如何它可以在页面上平滑地上下滚动吗?随着页面中图像的加载,该页面可以比正常情况大 20 倍。

我需要多次上下滚动,不要错过页面的任何部分。

当前方法效率不高,有时不会滚动到页面的某些部分。以下是我目前的代码

 browser = webdriver.Firefox()
browser.get(link)

browser.execute_script("window.scrollTo(0, document.body.scrollHeight/3.4);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/3.5);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/3.7);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/3.8);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/4);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/4.2);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/4.3);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/4.5);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/4.7);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/4.9);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/5.2);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/5.1);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/5.8);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/3.7);")
time.sleep(0.2)
browser.execute_script("window.scrollTo(0, document.body.scrollHeight/50);")
time.sleep(0.2)

最佳答案

如果在 Python 中使用 Selenium,您可以使用它...

scheight = .1
while scheight < 9.9:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight/%s);" % scheight)
scheight += .01

或者类似的东西。您可以添加 if 制动器以在 while 中的特定 scheight 位置捕获数据。只需根据需要制作 += 或迭代。我使用了 .01,所以我可以直观地看到它滚动,否则你需要超时并且它会显得不稳定。取决于您的需要。

关于python - 使用 Selenium 滚动页面的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19803963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com