每次當selenium啟動chrome瀏覽器的時候,chrome瀏覽器很干凈,沒有插件、沒有收藏、沒有歷史記錄,這是因為selenium在啟動chrome時為了保證最快的運行效率,啟動了一個裸瀏覽器,這就是為什么需要配置參數的原因,但是有些時候我們需要的不僅是一個裸瀏覽器。
selenium啟動配置參數接收是ChromeOptions類,創建方式如下:
1 from selenium import webdriver 2 option = webdriver.ChromeOptions()
創建了ChromeOptions類之后就是添加參數,添加參數有幾個特定的方法,分別對應添加不同類型的配置項目。
設置 chrome 二進制文件位置 (binary_location)
1 from selenium import webdriver 2 option = webdriver.ChromeOptions() 3 4 # 添加啟動參數 5 option.add_argument() 6 7 # 添加擴展應用 8 option.add_extension() 9 option.add_encoded_extension() 10 11 # 添加實驗性質的設置參數 12 option.add_experimental_option() 13 14 # 設置調試器地址 15 option.debugger_address()
常用配置參數:
1 from selenium import webdriver 2 option = webdriver.ChromeOptions() 3 4 # 添加UA 5 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"') 6 7 # 指定瀏覽器分辨率 8 options.add_argument('window-size=1920x3000') 9 10 # 谷歌文檔提到需要加上這個屬性來規避bug 11 chrome_options.add_argument('--disable-gpu') 12 13 # 隱藏滾動條, 應對一些特殊頁面 14 options.add_argument('--hide-scrollbars') 15 16 # 不加載圖片, 提升速度 17 options.add_argument('blink-settings=imagesEnabled=false') 18 19 # 瀏覽器不提供可視化頁面. linux下如果系統不支持可視化不加這條會啟動失敗 20 options.add_argument('--headless') 21 22 # 以最高權限運行 23 options.add_argument('--no-sandbox') 24 25 # 手動指定使用的瀏覽器位置 26 options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" 27 28 #添加crx插件 29 option.add_extension('d:\crx\AdBlock_v2.17.crx') 30 31 # 禁用JavaScript 32 option.add_argument("--disable-javascript") 33 34 # 設置開發者模式啟動,該模式下webdriver屬性為正常值 35 options.add_experimental_option('excludeSwitches', ['enable-automation']) 36 37 # 禁用瀏覽器彈窗 38 prefs = { 39 'profile.default_content_setting_values' : { 40 'notifications' : 2 41 } 42 } 43 options.add_experimental_option('prefs',prefs) 44 45 driver=webdriver.Chrome(chrome_options=chrome_options)
瀏覽器地址欄參數:
在瀏覽器地址欄輸入下列命令得到相應的信息
1 about:version - 顯示當前版本 2 3 about:memory - 顯示本機瀏覽器內存使用狀況 4 5 about:plugins - 顯示已安裝插件 6 7 about:histograms - 顯示歷史記錄 8 9 about:dns - 顯示DNS狀態 10 11 about:cache - 顯示緩存頁面 12 13 about:gpu -是否有硬件加速 14 15 chrome://extensions/ - 查看已經安裝的擴展
其他配置項目參數:
1 –user-data-dir=”[PATH]” 2 # 指定用戶文件夾User Data路徑,可以把書簽這樣的用戶數據保存在系統分區以外的分區 3 4 –disk-cache-dir=”[PATH]“ 5 # 指定緩存Cache路徑 6 7 –disk-cache-size= 8 # 指定Cache大小,單位Byte 9 10 –first run 11 # 重置到初始狀態,第一次運行 12 13 –incognito 14 # 隱身模式啟動 15 16 –disable-javascript 17 # 禁用Javascript 18 19 --omnibox-popup-count="num" 20 # 將地址欄彈出的提示菜單數量改為num個 21 22 --user-agent="xxxxxxxx" 23 # 修改HTTP請求頭部的Agent字符串,可以通過about:version頁面查看修改效果 24 25 --disable-plugins 26 # 禁止加載所有插件,可以增加速度。可以通過about:plugins頁面查看效果 27 28 --disable-javascript 29 # 禁用JavaScript,如果覺得速度慢在加上這個 30 31 --disable-java 32 # 禁用java 33 34 --start-maximized 35 # 啟動就最大化 36 37 --no-sandbox 38 # 取消沙盒模式 39 40 --single-process 41 # 單進程運行 42 43 --process-per-tab 44 # 每個標簽使用單獨進程 45 46 --process-per-site 47 # 每個站點使用單獨進程 48 49 --in-process-plugins 50 # 插件不啟用單獨進程 51 52 --disable-popup-blocking 53 # 禁用彈出攔截 54 55 --disable-plugins 56 # 禁用插件 57 58 --disable-images 59 # 禁用圖像 60 61 --incognito 62 # 啟動進入隱身模式 63 64 --enable-udd-profiles 65 # 啟用賬戶切換菜單 66 67 --proxy-pac-url 68 # 使用pac代理 [via 1/2] 69 70 --lang=zh-CN 71 # 設置語言為簡體中文 72 73 --disk-cache-dir 74 # 自定義緩存目錄 75 76 --disk-cache-size 77 # 自定義緩存最大值(單位byte) 78 79 --media-cache-size 80 # 自定義多媒體緩存最大值(單位byte) 81 82 --bookmark-menu 83 # 在工具 欄增加一個書簽按鈕 84 85 --enable-sync 86 # 啟用書簽同步
————————————————
原文鏈接:https://blog.csdn.net/weixin_41624982/java/article/details/88904262