Python使用Selenium Webdriver实现无限滚动时如何放慢速度等待图片加载
Selenium无限滚动脚本降速优化方案
核心调整逻辑
- 在每次滚动到底部后增加固定等待时间,给图片加载预留足够窗口
- 可根据自身网络环境灵活调整等待时长,适配不同站点的加载速度
优化后完整代码
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from time import sleep driver = webdriver.Chrome(ChromeDriverManager().install()) driver.get("https://scrolller.com/") # 滚动后等待时长,单位为秒,可根据实际加载速度调整,数值越大滚动越慢 SCROLL_INTERVAL = 3 while driver.find_element_by_tag_name('div'): driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # 新增等待逻辑,等待图片和新内容加载完成 sleep(SCROLL_INTERVAL) div_content = driver.find_element_by_tag_name('div').text if 'End of Results' in div_content: print('end') break
可选优化建议
- 固定等待可替换为Selenium显式等待,通过判断页面高度变化确认新内容加载完成后再执行下一次滚动,避免无意义的等待耗时
- 原判断结束的逻辑是匹配全页首个div的文本,容错性较低,可改为定位到站点专属的内容加载完毕提示元素进行判断,减少误判概率
内容的提问来源于stack exchange,提问作者YouAgain
相关产品推荐
相关产品推荐

