如何使用selenium一直拖动浏览器的滚动条

现在遇见一个问题,需要通过selenium不断向下刷新页面获取新数据。

之前看到的一些方法,主要就是让selenium执行js:

js = "var q=document.documentElement.scrollTop=100000"
driver.execute_script(js)

但是发现有的网站,滚动几次之后就不能继续刷新了,具体原因还未找到,可能和服务器响应过慢有关。后来找到如下方法,也是执行js,只不过对象不同。

ac = driver.find_element_by_xpath('(//a[@class="js-photo-link photo-item__link"])[last()]')
driver.execute_script("arguments[0].scrollIntoView();", ac)

我遇见的情况是需要拿到所有的图片链接,所以第一行代码的意思就是,每次找到当前加载的页面中,最后一个图片的链接所在的element;因为浏览器展示区域有限,所以第二行代码就会自动向下找该元素,以此达到向下翻页的效果


版权声明:本文为u012067766原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。