在使用selenium進(jìn)行自動(dòng)化測(cè)試中我們有時(shí)會(huì)遇到這樣的情況:
我們需要手動(dòng)打開瀏覽器戏蔑,進(jìn)入到所需的頁面弛姜,執(zhí)行一些手動(dòng)任務(wù),如輸入表單、輸入驗(yàn)證碼魄衅,登陸成功后峭竣,然后再開始運(yùn)行自動(dòng)化腳本。
這種情況下如何使用selenium來接管先前已打開的瀏覽器呢徐绑?
這里給出Google Chrome瀏覽器的解決方案邪驮。
我們可以利用Chrome DevTools協(xié)議。它允許客戶檢查和調(diào)試Chrome瀏覽器傲茄。
打開cmd毅访,在命令行中輸入命令:
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenium\AutomationProfile"
對(duì)于-remote-debugging-port
值,可以指定任何打開的端口盘榨。
對(duì)于-user-data-dir
標(biāo)記喻粹,指定創(chuàng)建新Chrome配置文件的目錄。它是為了確保在單獨(dú)的配置文件中啟動(dòng)chrome草巡,不會(huì)污染你的默認(rèn)配置文件守呜。
還有,不要忘了在環(huán)境變量中PATH里將chrome的路徑添加進(jìn)去山憨。
此時(shí)會(huì)打開一個(gè)瀏覽器頁面查乒,我們輸入百度網(wǎng)址,我們把它當(dāng)成一個(gè)已存在的瀏覽器:
現(xiàn)在郁竟,我們需要接管上面的瀏覽器玛迄。新建一個(gè)python文件,運(yùn)行以下代碼:
from selenium import webdriver from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_driver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
driver = webdriver.Chrome(chrome_driver,chrome_options=chrome_options)
print(driver.title)
會(huì)發(fā)現(xiàn)打印出了 “百度一下棚亩,你就知道” 的網(wǎng)頁標(biāo)題蓖议。這樣我們就實(shí)現(xiàn)了對(duì)一個(gè)已打開的瀏覽器的控制。
更多需求可以自己在此基礎(chǔ)上進(jìn)行修改讥蟆。
【文章轉(zhuǎn)載自】:https://www.cnblogs.com/lovealways/p/9813059.html