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('測試完成')
對比發現,執行速度大大提升了。
相關文章
相關標籤/搜索