前言
有過幾個小伙伴問過我如何利用 Selenium 獲取已經打開的瀏覽器視窗,正巧近日看到有文章寫到,我就很不要臉的拿來過拼湊到一起了,
這里使用 chrome瀏覽器 來做示例,
整個下來主要有兩個步驟,
- 手動打開瀏覽器,
- 使用 Python程式 去獲取到手動打開的 chrome瀏覽器,
應用場景(理論上)
- 登錄賬號并且需要輸入手機驗證碼的網站;
- 登錄賬號并且需要人機驗證的網站(如圖片點選、文字點選等人機驗證;
- …
1. 打開瀏覽器
首先來到安裝 chrome瀏覽器 的檔案夾下,例:C:\Program Files (x86)\Google\Chrome\Application,

在此界面打開 cmd視窗,
然后輸入:chrome.exe --remote-debugging-port=9527 --user-data-dir=“F:\selenium\AutomationProfile” ,并回車,
這句代碼的意思是啟動 chrome瀏覽器 的除錯模式,
- user-data-dirr=“F:\selenium\AutomationProfile” 是在單獨的組態檔中啟動 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:\selenium\AutomationProfile"
然后執行 2. 的 Python代碼即可控制當前瀏覽器視窗,
后話
自己動手操作一番,豈不美哉?
See you.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/249482.html
標籤:python
上一篇:我的Python學習之路(6)
