我們可以利用Chrome DevTools協議。它允許客戶檢查和調試Chrome瀏覽器。
打開cmd,在命令行中輸入命令:
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"
./360chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"
對於-remote-debugging-port值,可以指定任何打開的端口。這裏面是 9999 爲例
對於-user-data-dir標記,指定創建新Chrome配置文件的目錄。它是爲了確保在單獨的配置文件中啓動chrome,
不會污染你的默認配置文件。 "C:\selenum\AutomationProfile" 這個文件夾自己手動創建就行了。反正我本地是沒有的,
還有,不要忘了在環境變量中PATH裏將chrome的路徑添加進去( chromerdriver 配置到環境變量中去)
此時會打開一個瀏覽器頁面,我們輸入百度網址,我們把它當成一個已存在的瀏覽器:
手動輸入一個網址: 然後進行測試
現在,我們需要接管上面的瀏覽器。新建一個python文件,運行以下代碼:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9999")
chrome_driver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
print(driver.title)
會發現打印出了 “百度一下,你就知道” 的網頁標題。這樣我們就實現了對一個已打開的瀏覽器的控制。
更多需求可以自己在此基礎上進行修改。
轉自http://www.teachmeselenium.com/2018/08/11/how-to-connect-selenium-to-an-existing-browser-that-was-opened-manually/