首頁 > 軟體

使用Selenium控制當前已經開啟的chrome瀏覽器視窗

2022-07-07 10:02:12

前言

有過幾個小夥伴問過我如何利用 Selenium 獲取已經開啟的瀏覽器視窗,正巧近日看到有文章寫到,我就很不要臉的拿來過拼湊到一起了。

這裡使用 chrome瀏覽器 來做範例。

整個下來主要有兩個步驟,

  • 手動開啟瀏覽器,
  • 使用 Python程式 去獲取到手動開啟的 chrome瀏覽器

應用場景(理論上)

  • 登入賬號並且需要輸入手機驗證碼的網站;
  • 登入賬號並且需要人機驗證的網站(如圖片點選、文字點選等人機驗證;

1. 開啟瀏覽器

首先來到安裝 chrome瀏覽器 的資料夾下,例:C:Program Files (x86)GoogleChromeApplication

在此介面開啟 cmd視窗,

然後輸入:chrome.exe --remote-debugging-port=9527 --user-data-dir=“F:seleniumAutomationProfile” ,並回車。
這句程式碼的意思是啟動 chrome瀏覽器 的偵錯模式,

  • user-data-dirr=“F:seleniumAutomationProfile” 是在單獨的組態檔中啟動 chrome瀏覽器,可以理解為 新的瀏覽器,記得建立對應資料夾哦;
  • 其中 9527 為埠號,可自行指定。

此時候,如果無誤的話就可以看到桌面新開啟了一個 chrome 瀏覽器了。

見以下範例動圖,

那接下來就是去控制這個 手動開啟的 chrome瀏覽器 啦。

2. 編寫 Python程式獲取控制 瀏覽器

Demo程式碼 如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
browser = webdriver.Chrome(options=options)

print(browser.title)

程式碼執行後,可以看到如下:即獲取 當前頁面的 title

修改了一下程式碼,如下所示:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
browser = webdriver.Chrome(options=options)

url = 'https://www.bilibili.com'
browser.get(url)
print(browser.title)	# 嗶哩嗶哩 (゜-゜)つロ 乾杯~-bilibili

執行之後可以看到,瀏覽器視窗請求了新的 URL(https://www.bilibili.com),並且獲取到了當前頁面的 title

3. 總結

去到 chrome瀏覽器 安裝的資料夾下,開啟 cmd視窗,輸入以下內容:

chrome.exe --remote-debugging-port=9527 --user-data-dir="F:seleniumAutomationProfile"

然後執行 2.Python程式碼即可控制當前瀏覽器視窗。

後話

自己動手操作一番,豈不美哉?

到此這篇關於使用Selenium控制當前已經開啟的chrome瀏覽器視窗的文章就介紹到這了,更多相關Selenium控制已開啟瀏覽器視窗內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com