因為使用Selenium執(zhí)行自動化測試時仓蛆,必須要啟動瀏覽器随闺,瀏覽器的啟動與關(guān)閉必然會影響執(zhí)行效率卧须,并且會干擾到其它操作(本機運行時)萄传,所以采用Chrome 瀏覽器的headless Browser模式完美解決該問題。
-
Headless模式
Headless Browser模式是瀏覽器的無界面狀態(tài)衷掷,即在不打開瀏覽器界面的情況下使用瀏覽器辱姨。 該模式的好處如下:
1)可以加快web自動化測試的執(zhí)行時間,對于web自動化測試戚嗅,少了真實瀏覽器加載css雨涛,js以及渲染頁面的工作。無界面測試要比真實瀏覽器快的多懦胞。
2)可以在無界面的服務(wù)器或CI上運行測試替久,減少了外界的干擾,使自動化測試更穩(wěn)定躏尉。
3)可以更便捷的運行web自動化蚯根,編寫爬蟲、截圖等醇份。通常是由編程或者命令行來控制的稼锅。 -
基礎(chǔ)環(huán)境
python:3.10
python的selenium庫: 4.3.0
chrome瀏覽器: 105.0.5148.2
chromedriver下載地址:
鏡像下載地址
官方下載地址注意: 一定要確保chrome瀏覽器和chromedriver版本對應(yīng)
selenium使用Chrome headless模式
from selenium import webdriver
#創(chuàng)建Chrome瀏覽器設(shè)置變量
chrome_options = webdriver.ChromeOptions()
#無界面模式
chrome_options.add_argument('--headless')
#實例化Chrome driver
driver = webdriver.Chrome(executable_path='D:/chromedriver.exe',chrome_options=chrome_options)
#打開百度
driver.get("https://www.baidu.com/")
4.ChromeOptions的其他可設(shè)置參數(shù)
#設(shè)置瀏覽器窗口大小
chrome_options.add_argument('--window-size=1920,1080')
# 添加代理
chrome_options.add_argument("--proxy-server=http://" + ip:port)
# 修改User-Agent
chrome_options.add_argument('user-agent= '你想修改成的User-Agent')
#禁用圖片
chrome_options.add_argument('blink-settings=imagesEnabled=false')