測(cè)試和爬蟲(chóng)對(duì)selenium并不會(huì)陌生,現(xiàn)有的教程已經(jīng)非常多。但是因?yàn)?selenium 封裝的方法比較底層,所以靈活性非常高,我們可以基于這種靈活性來(lái)實(shí)現(xiàn)非常豐富的定制功能。
這篇文章介紹一個(gè)操作,可以讓 selenium 連接我們手動(dòng)打開(kāi)的瀏覽器。他的應(yīng)用場(chǎng)景主要是:你可以通過(guò)手工先實(shí)現(xiàn)一些自動(dòng)化難處理的操作,讓 selenium 繞過(guò)這些復(fù)雜操作,然后再執(zhí)行自動(dòng)化。
自動(dòng)化的時(shí)候經(jīng)常頭痛的掃碼登錄,可以通過(guò)這種方式繞過(guò),短期無(wú)法解決的驗(yàn)證碼的識(shí)別,也可以通過(guò)這種方式繞過(guò)。
手工打開(kāi)瀏覽器
可能有的小伙伴不知道,打開(kāi)瀏覽器有兩種方式:圖標(biāo)點(diǎn)擊和命令行運(yùn)行。
圖標(biāo)點(diǎn)擊不用多說(shuō),我們經(jīng)常使用這種方式打開(kāi)瀏覽器。命令行方式允許我啰嗦一句,找到瀏覽器的安裝目錄,在安裝目錄中輸入 chrome.exe 就可以了。 比如我的 chrome 瀏覽器安裝在 C:\Program Files (x86)\Google\Chrome\Application 這個(gè)路徑,則在這個(gè)目錄下打開(kāi) cmd 命令行,輸入 chrome.exe,就可以打開(kāi)一個(gè)瀏覽器。
瀏覽器配置參數(shù)
我們還可以在瀏覽器打開(kāi)的時(shí)候設(shè)置額外的參數(shù),為它提供不同的功能。 通過(guò) selenium 連接瀏覽器,需要用到兩個(gè)參數(shù) --remote-debugging-port 和 --user-data-dir 。
-
--remote-debugging-port
這個(gè)參數(shù)允許我們通過(guò)遠(yuǎn)程的方式連接,selenium 當(dāng)然也可以。 -
--user-data-dir
這個(gè)參數(shù)指定一個(gè)獨(dú)立的目錄存放產(chǎn)生的用戶數(shù)據(jù),在連接時(shí)也要設(shè)置,否則會(huì)失效。
現(xiàn)在我們可以通過(guò)以下命令行打開(kāi)瀏覽器:
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenium\ChromeProfile"
復(fù)制代碼
打開(kāi)后做兩件事情:
- 1、在瀏覽器地址欄輸入 http://localhost:9222/json/list ,可以查看到瀏覽器的一些信息。
- 2、打開(kāi)本地的 C:\selenium\ChromeProfile 目錄,會(huì)出現(xiàn)很多子文件。
快捷方式設(shè)置參數(shù)
手工打開(kāi)用命令行比較用得少,界面照樣可以配置參數(shù)。在 chrome 的快捷方式上右擊,選擇屬性,快捷方式的目標(biāo)欄后面加空格加上:
--remote-debugging-port=9222 --user-data-dir="C:\selenium\ChromeProfile"
復(fù)制代碼
現(xiàn)在,單擊快捷方式打開(kāi)的瀏覽器也可以通過(guò)遠(yuǎn)程調(diào)試了。
selenium 連接瀏覽器
有了遠(yuǎn)程調(diào)試地址,selenium 連接瀏覽器就變的很簡(jiǎn)單,只需要加 2 行代碼。 創(chuàng)建一個(gè)選項(xiàng),綁定debuggerAddress 遠(yuǎn)程調(diào)試地址。 此時(shí)就可以用 selenium 控制之前手工打開(kāi)的瀏覽器了。
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)
復(fù)制代碼
效果:
如果你還有許多困惑,那么我整理的視頻資源和文檔會(huì)是你的良師益友,或許可以給你帶來(lái)一些實(shí)際性的幫助與突破【保證100%免費(fèi)】
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-478353.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-478353.html
到了這里,關(guān)于selenium還能這么玩:連接已經(jīng)存在的瀏覽器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!