Selenium編寫用例的時候,需要不斷的運行調試debug,但正常情況會每次重新打開一個Chrome運行,如果你的系統需要登陸,或者你正在調試的用例需要很長的前置步驟,都重新來一遍非常浪費時間。有沒有辦法可以讓Selenium直接在已打開的瀏覽器上繼續運行呢?有的:
首先使用命令打開Chrome瀏覽器並開啟遠程調試功能,打開CMD,輸入
chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenium\chrome_temp"
對於-remote-debugging-port值,可以指定任何打開的端口。
對於-user-data-dir標記,指定創建新Chrome配置文件的目錄。它是為了確保在單獨的配置文件中啟動chrome,不會污染你的默認配置文件。
還有,不要忘了在環境變量中PATH里將chrome的路徑添加進去。
此時會打開一個瀏覽器頁面,我們輸入百度網址,我們把它當成一個已存在的瀏覽器:
如圖,瀏覽器已打開了,我們輸入百度地址打開百度首頁,然后運行以下代碼:
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")
chrome_driver = "F:\\chromedriver.exe"
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
driver.find_element_by_id('kw').send_keys('哈哈哈哈')
就可以在當前打開的chrome中直接輸入“哈哈哈哈”