selenium 如何在已開啟的瀏覽器上繼續執行自動化指令碼?
阿新 • • 發佈:2021-08-12
前言
使用selenium 做web自動化的時候,經常會遇到這樣一種需求,是否可以在已經開啟的瀏覽器基礎上繼續執行自動化指令碼?
這樣前面的驗證碼登入可以手工點過去,後面頁面使用指令碼繼續執行,這樣可以解決很大的一個痛點。
命令列啟動瀏覽器
首先右鍵Chrome瀏覽器桌面圖示,找到chrome.exe的安裝路徑
複製地址C:\Program Files\Google\Chrome\Application
新增到環境變數Path下
開啟cmd輸入命令啟動chrome瀏覽器
- --remote-debugging-port 是指定執行埠,可以設定容易埠,只要沒被佔用就行
- --user-data-dir 指定執行瀏覽器的執行資料,新建一個乾淨目錄,不影響系統原來的資料
> chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenium_chrome"
執行後會啟動chrome瀏覽器
selenium執行已開啟瀏覽器
在已開啟的瀏覽器上輸入我的部落格地址:https://www.cnblogs.com/yoyoketang/
新建py檔案,可以接著瀏覽器上直接執行,不用重新啟動瀏覽器
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") driver = webdriver.Chrome(chrome_options=chrome_options) # 接著執行 print(driver.current_url) print(driver.title)
執行結果
https://www.cnblogs.com/yoyoketang/
上海-悠悠 - 部落格園
通過此方法就可以解決登入頁面驗證碼的問題了,驗證碼手工操作,後面的頁面繼續用程式碼操作。