什么是 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+
示例:
环境:
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('测试完成')
对比发现,执行速度大大提升了。