关于使用selenium鼠标移动加载全部页面数据


此处采用函数执行鼠标滑动操作,最终完成动态数据的加载(懒加载)

原理:设置 一个空列表用于存储每次鼠标拖动后的瞬间页面最大高度。每次追加页面的最新高度

在每次拖动后,重新去获取一下,当前页面的最大高度

如果获取的页面最大高度等于了列表最后的那个最大高度,说明页面到底了,跳出循环。

否则会将当前获取的最大页面添加到列表中去,继续比较。

    def mouse_move(self):       # 滑动鼠标至底部操作
        all_window_height = []  # 创建一个列表,用于记录每一次拖动滚动条后页面的最大高度
        all_window_height.append(self.web.execute_script("return document.body.scrollHeight;"))  # 当前页面的最大高度加入列表
        while True: self.web.execute_script("scroll(0,100000)")  # 执行拖动滚动条操作
            sleep(3) check_height = self.web.execute_script("return document.body.scrollHeight;")  # 当前页面的最大高度
            if check_height == all_window_height[-1]:  # 判断拖动滚动条后的最大高度与上一次的最大高度的大小,相等表明到了最底部
                break
            else: all_window_height.append(check_height) # 如果不想等,将当前页面最大高度加入列表。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM