文章目錄
- 手工打開浏覽器
- 浏覽器配置參數
- 快捷方式設定參數
- selenium 連接配接浏覽器
測試和爬蟲對selenium并不會陌生,現有的教程已經非常多。但是因為 selenium 封裝的方法比較底層,是以靈活性非常高,我們可以基于這種靈活性來實作非常豐富的定制功能。
這篇文章介紹一個操作,可以讓 selenium 連接配接我們手動打開的浏覽器。他的應用場景主要是:你可以通過手工先實作一些自動化難處理的操作,讓 selenium 繞過這些複雜操作,然後再執行自動化。
自動化的時候經常頭痛的掃碼登入,可以通過這種方式繞過,短期無法解決的驗證碼的識别,也可以通過這種方式繞過。
手工打開浏覽器
可能有的小夥伴不知道,打開浏覽器有兩種方式:圖示點選和指令行運作。
圖示點選不用多說,我們經常使用這種方式打開浏覽器。指令行方式允許我啰嗦一句,找到浏覽器的安裝目錄,在安裝目錄中輸入 chrome.exe 就可以了。 比如我的 chrome 浏覽器安裝在 C:\Program Files (x86)\Google\Chrome\Application 這個路徑,則在這個目錄下打開 cmd 指令行,輸入 chrome.exe,就可以打開一個浏覽器。

浏覽器配置參數
我們還可以在浏覽器打開的時候設定額外的參數,為它提供不同的功能。 通過 selenium 連接配接浏覽器,需要用到兩個參數 --remote-debugging-port 和 --user-data-dir ,其他 chrome 參數如果感興趣可以檢視 peter.sh 的部落格, 英語不好的可以看 中文版。
-
這個參數允許我們通過遠端的方式連接配接,selenium 當然也可以。--remote-debugging-port
-
這個參數指定一個獨立的目錄存放産生的使用者資料,在連接配接時也要設定,否則會失效。--user-data-dir
現在我們可以通過以下指令行打開浏覽器:
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenium\ChromeProfile"
打開後做兩件事情:
1、在浏覽器位址欄輸入 http://localhost:9222/json/list ,可以檢視到浏覽器的一些資訊。
2、打開本地的 C:\selenium\ChromeProfile 目錄,會出現很多子檔案。
快捷方式設定參數
手工打開用指令行比較用得少,界面照樣可以配置參數。在 chrome 的快捷方式上右擊,選擇屬性,快捷方式的目标欄後面加空格加上:
--remote-debugging-port=9222 --user-data-dir="C:\selenium\ChromeProfile"
現在,單擊快捷方式打開的浏覽器也可以通過遠端調試了。
selenium 連接配接浏覽器
有了遠端調試位址,selenium 連接配接浏覽器就變的很簡單,隻需要加 2 行代碼。 建立一個選項,綁定debuggerAddress 遠端調試位址。 此時就可以用 selenium 控制之前手工打開的浏覽器了。
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome(options=chrome_options)
print(driver.title)
效果:
- 你已經閱讀完本文所有内容。
- 相信你一定是個耐心和踏實的人,也是一個可交的朋友。