在自動化中,默認狀況下咱們打開的就是一個普通的純淨的chrome瀏覽器,而咱們平時在使用瀏覽器時,常常就添加一些插件,擴展,代理之類的應用。因此使用 selenium
時,咱們可能須要對 chrome
作一些特殊的設置,以完成咱們指望的瀏覽器行爲,好比阻止圖片加載
,阻止JavaScript執行
等動做。這些須要 selenium
的 ChromeOptions
來幫助咱們完成。python
chromeoptions
是一個方便控制 chrome
啓動時屬性的類。chromeoptions
主要提供以下的功能:web
以上的幾個功能中咱們最經常使用的是如下三個功能:chrome
下面以python
爲例一一說明.瀏覽器
# 啓動時設置默認語言爲中文 UTF-8 from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('lang=zh_CN.UTF-8') # 啓動瀏覽器最大化 options.add_argument("--start-maximized") #最經常使用的應用場景是設置user-agent以用來模擬移動設備,好比模擬 iphone6 options.add_argument('user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"') #模擬Android options.add_argument('user-agent="MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"') driver = webdriver.Chrome(chrome_options = options)
from selenium import webdriver options = webdriver.ChromeOptions() # 禁止圖片加載 prefs = { 'profile.default_content_setting_values' : { 'images' : 2 } } options.add_experimental_option('prefs',prefs) driver = webdriver.Chrome(chrome_options = options)
# 添加xpath helper應用 from selenium import webdriver options = webdriver.ChromeOptions() # 設置好應用擴展 extension_path = 'D:/extension/XPath-Helper_v2.0.2.crx' chrome_options.add_extension(extension_path) # 啓動瀏覽器,並設置好wait browser = webdriver.Chrome(chrome_options=options)
from selenium import webdriver PROXY = "proxy_host:proxy:port" options = webdriver.ChromeOptions() desired_capabilities = options.to_capabilities() desired_capabilities['proxy'] = { "httpProxy":PROXY, "ftpProxy":PROXY, "sslProxy":PROXY, "noProxy":None, "proxyType":"MANUAL", "class":"org.openqa.selenium.Proxy", "autodetect":False } driver = webdriver.Chrome(desired_capabilities = desired_capabilities)
下面來看個例子:
chrome_driver = PATH_BROWSER_DRIVER_CHROME os.environ["webdriver.chrome.driver"] = chrome_driver #禁止彈出框 prefs = {'profile.default_content_settings.popups': 0} options = webdriver.ChromeOptions() options.add_experimental_option('prefs', prefs) options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"]) driver = webdriver.Chrome(chrome_driver, chrome_options=options) #等同於 driver = webdriver.Chrome(executable_path=chrome_driver,chrome_options=options)
參考地址:https://blog.csdn.net/zwq912318834/article/details/78933910