Python - selenium自动化-Chrome(headless)

什么是 Headless Chrome
Headless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序。相比于现代浏览器,Headless Chrome 更加方便测试 web 应用,获得网站的截图,做爬虫抓取信息等。相比于较早的 PhantomJS,SlimerJS 等,Headless Chrome 则更加贴近浏览器环境。
Headless Chrome作用
为了提高selenium脚本的执行速度,我们可能会考虑使用PhantomJS这类的Headless 浏览器,但这些工具对JavaScript支持不好或者对web的支持不好,占用资源多,跟真实浏览器存在一定的差异等等问题。Chrome 浏览器提供的Headless Chrome,简单说我们也可以在不打开chrome GUI的情况在Chrome下执行我们的Selenium脚本,可提升脚本的执行效率。
Headless Chrome 对Chrome版本要求
官方文档中介绍,mac和linux环境要求chrome版本是59+,而windows版本的chrome要求是60+
如果想进一步了解headless,请移步官网: https://developers.google.cn/web/updates/2017/04/headless-chrome
示例:
环境:
win10
chrome=63
chromedriver =23
示例代码:
# -*- coding:utf-8 -*-
from selenium import webdriver

option = webdriver.ChromeOptions()
option.add_argument( 'headless' )
driver = webdriver.Chrome( chrome_options =option)
# driver = webdriver.Chrome()
# driver = webdriver.PhantomJS()
driver.get( 'https://www.baidu.com/' )
print ( ' 打开浏览器 ' )
print (driver.title)
driver.find_element_by_id( 'kw' ).send_keys( ' 测试 ' )
print ( ' 关闭 ' )
driver.quit()
print ( ' 测试完成 ' )
对比发现,执行速度大大提高了。
Python - selenium自动化-Chrome(headless)_第1张图片

你可能感兴趣的:(Python - selenium自动化-Chrome(headless))