什么是 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('測試完成')
對比發現,執行速度大大提高了。
