每次當selenium啟動chrome浏覽器的時候,chrome浏覽器很幹淨,沒有插件、沒有收藏、沒有曆史記錄,這是因為selenium在啟動chrome時為了保證最快的運作效率,啟動了一個裸浏覽器,這就是為什麼需要配置參數的原因,但是有些時候我們需要的不僅是一個裸浏覽器。
selenium啟動配置參數接收是ChromeOptions類,建立方式如下:
from selenium import webdriver
option = webdriver.ChromeOptions()
建立了ChromeOptions類之後就是添加參數,添加參數有幾個特定的方法,分别對應添加不同類型的配置項目。
設定 chrome 二進制檔案位置 (binary_location)
from selenium import webdriver
option = webdriver.ChromeOptions()
# 添加啟動參數
option.add_argument()
# 添加擴充應用
option.add_extension()
option.add_encoded_extension()
# 添加實驗性質的設定參數
option.add_experimental_option()
# 設定調試器位址
option.debugger_address()
常用配置參數:
from selenium import webdriver
option = webdriver.ChromeOptions()
# 添加UA
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')
# 谷歌文檔提到需要加上這個屬性來規避bug
chrome_options.add_argument('--disable-gpu')
# 隐藏滾動條, 應對一些特殊頁面
options.add_argument('--hide-scrollbars')
# 不加載圖檔, 提升速度
options.add_argument('blink-settings=imagesEnabled=false')
# 浏覽器不提供可視化頁面. linux下如果系統不支援可視化不加這條會啟動失敗
options.add_argument('--headless')
# 以最高權限運作
options.add_argument('--no-sandbox')
# 手動指定使用的浏覽器位置
options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
#添加crx插件
option.add_extension('d:\crx\AdBlock_v2.17.crx')
# 禁用JavaScript
option.add_argument("--disable-javascript")
# 設定開發者模式啟動,該模式下webdriver屬性為正常值
options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 禁用浏覽器彈窗
prefs = {
'profile.default_content_setting_values' : {
'notifications' : 2
}
}
options.add_experimental_option('prefs',prefs)
driver=webdriver.Chrome(chrome_options=chrome_options)
浏覽器位址欄參數:
在浏覽器位址欄輸入下列指令得到相應的資訊
about:version - 顯示目前版本
about:memory - 顯示本機浏覽器記憶體使用狀況
about:plugins - 顯示已安裝插件
about:histograms - 顯示曆史記錄
about:dns - 顯示DNS狀态
about:cache - 顯示緩存頁面
about:gpu -是否有硬體加速
chrome://extensions/ - 檢視已經安裝的擴充
其他配置項目參數
–user-data-dir=”[PATH]”
# 指定使用者檔案夾User Data路徑,可以把書簽這樣的使用者資料儲存在系統分區以外的分區
–disk-cache-dir=”[PATH]“
# 指定緩存Cache路徑
–disk-cache-size=
# 指定Cache大小,機關Byte
–first run
# 重置到初始狀态,第一次運作
–incognito
# 隐身模式啟動
–disable-javascript
# 禁用Javascript
--omnibox-popup-count="num"
# 将位址欄彈出的提示菜單數量改為num個
--user-agent="xxxxxxxx"
# 修改HTTP請求頭部的Agent字元串,可以通過about:version頁面檢視修改效果
--disable-plugins
# 禁止加載所有插件,可以增加速度。可以通過about:plugins頁面檢視效果
--disable-javascript
# 禁用JavaScript,如果覺得速度慢在加上這個
--disable-java
# 禁用java
--start-maximized
# 啟動就最大化
--no-sandbox
# 取消沙盒模式
--single-process
# 單程序運作
--process-per-tab
# 每個标簽使用單獨程序
--process-per-site
# 每個站點使用單獨程序
--in-process-plugins
# 插件不啟用單獨程序
--disable-popup-blocking
# 禁用彈出攔截
--disable-plugins
# 禁用插件
--disable-images
# 禁用圖像
--incognito
# 啟動進入隐身模式
--enable-udd-profiles
# 啟用賬戶切換菜單
--proxy-pac-url
# 使用pac代理 [via 1/2]
--lang=zh-CN
# 設定語言為簡體中文
--disk-cache-dir
# 自定義緩存目錄
--disk-cache-size
# 自定義緩存最大值(機關byte)
--media-cache-size
# 自定義多媒體緩存最大值(機關byte)
--bookmark-menu
# 在工具 欄增加一個書簽按鈕
--enable-sync
# 啟用書簽同步