【轉】Chrome headless 模式


原文地址:

http://www.cnblogs.com/fnng/p/7797839.html

我們在通過Selenium運行自動化測試時,必須要啟動瀏覽器,瀏覽器的啟動與關閉必然會影響執行效率,而且還會干擾你做其它事情(本機運行的話)。

那能不能把自動化測試的運行放在后台?當然可以!

  • htmlunit 項目可以模擬瀏覽器運行,是一個沒有界面的瀏覽器,運行速度快。

  • PhantomJS 是一個基於webkit的JavaScript API。它使用QtWebKit作為它核心瀏覽器的功能,使用webkit來編譯解釋執行JavaScript代碼。任何你可以在基於webkit瀏覽器做的事情,它都能做到。

  • Chrome-headless 模式,Google 自己出的無頭瀏覽器模式。

htmlunit 在Selenium 下面,我都沒跑通過一個 baidu 的 demo, 因為它不打開 UI 界面,所以,你也不知道它后台是如何渲染頁面的。 棄之!

PhantomJS 非常不錯,因為是使用的 QtWebKit 瀏覽器內核渲染頁面,基本可以和真正瀏覽器保持一致。

Chrome-headless 模式, Google 針對 Chrome 瀏覽器 59版 新增加的一種模式,可以讓你不打開UI界面的情況下使用 Chrome 瀏覽器,所以運行效果與 Chrome 保持完美一致。PhantomJS作者表示,你這么搞我失業了啊!

用法

Python Selenium 用法:

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

chrome_option = Options()
chrome_option.add_argument('--headless')
driver = webdriver.Chrome(chrome_options=chrome_option)
driver.get("https://www.baidu.com")
driver.implicitly_wait(10)
driver.save_screenshot('1.png')
driver.get_screenshot_as_file("D:\\tools\\test\\2.png")
driver.find_element_by_id("kw").send_keys(u"博客園")
driver.save_screenshot('2.png')

time.sleep(5)
driver.quit()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM