Python使用Selenium包谷歌无头浏览器进行完整长截图

您所在的位置:网站首页 原神登录页面截屏图片 Python使用Selenium包谷歌无头浏览器进行完整长截图

Python使用Selenium包谷歌无头浏览器进行完整长截图

2024-07-15 00:18| 来源: 网络整理| 查看: 265

写在前面 想很简单,做很难,坚持更难,克服惰性。每天学一点,不会的就少一点。 养成习惯很重要,先从点赞开始吧!关注[程序员之道],前行道路不再迷茫!

不知道你有没有碰到过在开发过程中需要爬取网页,或者截取网页内容。这时候我们的selenium就要大显身手了!

准备工作

什么是无头浏览器呢,就是没有用户图形界面的Web浏览器,可以方便的通过程序进行控制或模拟用户的网页访问行为。这不就是天然为自动化测试准备的嘛。

下载无头浏览器驱动

下载链接 在这里插入图片描述

可以根据自己的Chrome版本选择合适的无头浏览器驱动版本。一般来说,版本相近即可。

比如我的Chrome版本: 在这里插入图片描述

驱动存储

将下载的驱动存储到自己的目录,比如/Users/Desktop/soft/chromedriver

代码实现

代码实现的主要逻辑非常简单。

设置无头浏览器驱动路径及参数。获取网页内容。执行script脚本,设置最大宽度及高度(如果没有此步骤,截图只是一部分)。保存图片。

具体代码实现:

from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') path = r'/Users/Desktop/soft/chromedriver' def download(url, pngName): # 设置chrome驱动的路径及参数 browser = webdriver.Chrome(executable_path=path,chrome_options=chrome_options) # 获取网页内容 browser.get(url) # 通过执行脚本,设置滚动条到最大宽度及最大高度 width = browser.execute_script("return document.documentElement.scrollWidth") height = browser.execute_script("return document.documentElement.scrollHeight") browser.set_window_size(width, height) # 是否需要超时等待 # time.sleep(10) # 保存的截图名字 browser.save_screenshot(pngName) browser.quit() if __name__ == '__main__': url = 'https://www.w3school.com.cn/' pngPath = '/Users/Desktop/PycharmProjects/python-learn/image/' pngName = pngPath + "w3school.png" download(url, pngName) 截图效果

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3