selenium3使用谷歌无头浏览器、截图

无头浏览器即为Headless Browser,是没有图形用户界面的web浏览器,通常是通过编程或命令行界面来控制。
在正常使用selenium的时候,你必须担心CPU和/或内存的使用。这两种方式都与必须从被请求的URL中显示显示的图形的浏览器相关联。
当使用一个无头的浏览器时,我们不用担心这个。因此,我们可以预期我们编写的脚本的内存消耗会降低,执行速度也会更快。当有的人说,那我没法看到浏览器响应的过程,我不能在这边盯着浏览器自己执行我的用例。。。喔犒!写自动化本来就是为了效率的,做截图就可以了嘛,盯着?你还不如下手点呢。。。咳咳,书接上文

下载安装selenium,谷歌浏览器 自行下载
谷歌浏览器与 驱动的对应关系如下图
selenium3使用谷歌无头浏览器、截图_第1张图片

 

 

ChromeDriver仓库地址:
http://chromedriver.storage.googleapis.com/index.html

谷歌浏览器查看版本方式:

selenium3使用谷歌无头浏览器、截图_第2张图片

 

 

下载好驱动后放置在指定文件夹内备用。

编写脚本

import time
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'C:\Chromedriver\chromedriver.exe'

#创建浏览器对象
browser = webdriver.Chrome(executable_path=path,chrome_options=chrome_options)
#请求地址
url ='http://www.baidu.com/'
#发出请求
browser.get(url)
#休眠三秒
time.sleep(3)
#截图并保存在本地C盘TEST文件夹内
browser.save_screenshot("C:\\TEST\\baid2.png")
#截图保存在项目下
browser.save_screenshot('ph\\baid.png')

#其他截图方法
#browser.get_screenshot_as_base64()
#browser.get_screenshot_as_file()
#browser.get_screenshot_as_png()

#退出
browser.quit()

  执行后生成图片。

selenium3使用谷歌无头浏览器、截图_第3张图片

 

 

selenium4圣诞节已经发布,然后新功能API支持的更广泛,selenium的文档,官方自selenium2发布以来就从来没有更新过,哪怕是selenium3发布之后,selenium的官方也是不带动的,这次selenium的官方终于把selenium4的官方文档更新了。。。。。额,真香。

你可能感兴趣的:(selenium3使用谷歌无头浏览器、截图)