每次當(dāng)selenium啟動chrome瀏覽器的時候,chrome瀏覽器很干凈,沒有插件、沒有收藏、沒有歷史記錄,這是因為selenium在啟動chrome時為了保證最快的運行效率,啟動了一個裸瀏覽器,這就是為什么需要配置參數(shù)的原因,但是有些時候我們需要的不僅是一個裸瀏覽器。
selenium啟動配置參數(shù)接收是ChromeOptions類,創(chuàng)建方式如下:
from selenium import webdriver option = webdriver.ChromeOptions()
創(chuàng)建了ChromeOptions類之后就是添加參數(shù),添加參數(shù)有幾個特定的方法,分別對應(yīng)添加不同類型的配置項目。
設(shè)置 chrome 二進制文件位置 (binary_location)
from selenium import webdriver option = webdriver.ChromeOptions() option.add_encoded_extension() # 添加實驗性質(zhì)的設(shè)置參數(shù) option.add_experimental_option() option.debugger_address()
常用配置參數(shù):
from selenium import webdriver option = webdriver.ChromeOptions() 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"') options.add_argument('window-size=1920x3000') # 谷歌文檔提到需要加上這個屬性來規(guī)避bug chrome_options.add_argument('--disable-gpu') options.add_argument('--hide-scrollbars') options.add_argument('blink-settings=imagesEnabled=false') # 瀏覽器不提供可視化頁面. linux下如果系統(tǒng)不支持可視化不加這條會啟動失敗 options.add_argument('--headless') options.add_argument('--no-sandbox') options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" option.add_extension('d:\crx\AdBlock_v2.17.crx') option.add_argument("--disable-javascript") # 設(shè)置開發(fā)者模式啟動,該模式下webdriver屬性為正常值 options.add_experimental_option('excludeSwitches', ['enable-automation']) 'profile.default_content_setting_values' : { options.add_experimental_option('prefs',prefs) driver=webdriver.Chrome(chrome_options=chrome_options)
瀏覽器地址欄參數(shù):
在瀏覽器地址欄輸入下列命令得到相應(yīng)的信息
about:version - 顯示當(dāng)前版本 about:memory - 顯示本機瀏覽器內(nèi)存使用狀況 about:histograms - 顯示歷史記錄 chrome://extensions/ - 查看已經(jīng)安裝的擴展
image
其他配置項目參數(shù)
# 指定用戶文件夾User Data路徑,可以把書簽這樣的用戶數(shù)據(jù)保存在系統(tǒng)分區(qū)以外的分區(qū) --omnibox-popup-count="num" # 將地址欄彈出的提示菜單數(shù)量改為num個 # 修改HTTP請求頭部的Agent字符串,可以通過about:version頁面查看修改效果 # 禁止加載所有插件,可以增加速度??梢酝ㄟ^about:plugins頁面查看效果 # 禁用JavaScript,如果覺得速度慢在加上這個
|