我們在做selenium做UI自動化的時候,chrome 一般都會啟動一個新的浏覽器。有一個測試,我在chrome安裝了油猴插件,新打開的浏覽器就沒有插件,使用起來就不友善,這樣就需要selenium 能直接操作我手動打開的浏覽器,在這樣的基礎上,測試就友善多了。
那麼怎樣才能讓 selenium直接操作我手動打開的浏覽器,步驟如下:
1、windows系統指令行中啟動chrome浏覽器,并且啟用一個監聽端口9887(也可以設定其他沒有使用過的端口,在指令行中自己定義)
start chrome --flag-switches-begin --flag-switches-end --remote-debugging-port=9887
2、啟動指令後,使用指令檢測端口是否啟用,并且是否是chrome程序
netstat -ano |findstr 9887 #檢查端口是否開啟
tasklist |findstr 20428 #查找程序
執行結果如下:
C:\Program Files\Google\Chrome\Application>start chrome --flag-switches-begin --flag-switches-end --remote-debugging-port=9887
C:\Program Files\Google\Chrome\Application>netstat -ano |findstr 9887
TCP 127.0.0.1:9887 0.0.0.0:0 LISTENING 20428
TCP 127.0.0.1:9887 127.0.0.1:57870 FIN_WAIT_2 340
TCP 127.0.0.1:9887 127.0.0.1:57871 TIME_WAIT 0
TCP 127.0.0.1:57870 127.0.0.1:9887 CLOSE_WAIT 9436
C:\Program Files\Google\Chrome\Application>tasklist |findstr 20428
chrome.exe 20428 Console 1 158,120 K
C:\Program Files\Google\Chrome\Application>

3、在selenium腳本中 使用現有浏覽器
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9887")
# driver就是目前浏覽器視窗
driver = webdriver.Chrome(options=chrome_options)
time.sleep(2)
driver.get("https://www.baidu.com")
歡迎關注技術微信公衆号: