前言
使用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/
上海-悠悠 - 博客園
通過此方法就可以解決登錄頁面驗證碼的問題了,驗證碼手工操作,后面的頁面繼續用代碼操作。
