天天看點

selenium 使用使用已經打開的浏覽器

我們在做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>      
selenium 使用使用已經打開的浏覽器

 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")      

 歡迎關注技術微信公衆号: