使用selenium打印网页时,如果程序运行很快的话,可能会导致图片没有加载成功即进行了保存,出现这个问题最初的思考是在执行打印任务时使用js进行强制等待,后发现实现效果并不好。在加载页面时使用自动下滑的方式将网页拉到底,即可解决selenium打印保存为PDF时图片未加载成功的问题
# 设置滚动的距离和间隔时间
distance = 300 # 每次滚动的距离,可根据需求进行修改
interval = 0.2 # 每次滚动的间隔时间,可根据需求进行修改
# 计算需要滚动的次数
scrolls = int((driver.execute_script("return document.body.scrollHeight;") - current_scroll_position) / distance )# 循环滚动页面for _ in range(scrolls ):driver.execute_script(f"window.scrollBy(0, {distance });")time.sleep(interval )