1. 程式人生 > >使用python+selenium控制手工已開啟的瀏覽器

使用python+selenium控制手工已開啟的瀏覽器

我們可以利用Chrome DevTools協議。它允許客戶檢查和除錯Chrome瀏覽器。

開啟cmd,在命令列中輸入命令:

chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"

      對於-remote-debugging-port值,可以指定任何開啟的埠。

      對於-user-data-dir標記,指定建立新Chrome配置檔案的目錄。它是為了確保在單獨的配置檔案中啟動chrome,不會汙染你的預設配置檔案。

      還有,不要忘了在環境變數中PATH裡將chrome的路徑新增進去。

此時會開啟一個瀏覽器頁面,我們輸入百度網址,我們把它當成一個已存在的瀏覽器:

現在,我們需要接管上面的瀏覽器。新建一個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:9222")
chrome_driver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
print(driver.title)
複製程式碼

會發現打印出了 “百度一下,你就知道” 的網頁標題。這樣我們就實現了對一個已開啟的瀏覽器的控制。

更多需求可以自己在此基礎上進行修改。

ps:

driver.maximize_window()這個方法貌似不能用,報錯:operation is unsupported with remote debugging:遠端除錯不支援操作

轉自http://www.teachmeselenium.com/2018/08/11/how-to-connect-selenium-to-an-existing-browser-that-was-opened-manually/

翻譯http://www.cnblogs.com/lovealways