3 回答

TA貢獻(xiàn)1906條經(jīng)驗 獲得超10個贊
當(dāng)您每次創(chuàng)建一個新的ChromeDriver實例時執(zhí)行您的代碼,這會產(chǎn)生一個新的Chrome 瀏覽器會話。此功能是按照設(shè)計。
更好的方法是在每次運行Test Executiondriver.quit()
后在方法內(nèi)調(diào)用以優(yōu)雅地tearDown(){}
關(guān)閉和銷毀WebDriver和Web Browser實例。你可以在這里找到詳細(xì)的討論。
雖然這可以解決多個Chrome 瀏覽器窗口的問題,但您仍然不會在新會話中登錄。要登錄,您需要使用特定的Chrome 配置文件并存儲cookie并在以后重復(fù)使用。您將在此討論中找到有關(guān)如何創(chuàng)建和打開新 Chrome 配置文件的詳細(xì)討論。
要使用您已安裝的擴展,您需要打包/解壓縮它們并使用ChromeOptions
class.
Chrome 擴展程序
Chrome 擴展程序可以打包或解包。打包擴展名是具有 .crx 擴展名的單個文件。未打包的擴展是一個包含擴展的目錄,包括一個manifest.json
文件。
要打包未打包的擴展程序,請使用中的打包按鈕chrome://extensions
或使用 Chrome(Windows 示例):
chrome.exe --pack-extension=C:\path\to\unpacked\extension --pack-extension-key=C:\myext.pem
請參閱擴展文檔以了解其他更自動化的方法。要解壓打包的擴展,只需解壓縮文件(您可能需要將文件從 重命名為.crx
,以便.zip
zip 實用程序識別它)。
通過 ChromeDriver 使用擴展程序
打包(.crx 文件):
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
WebDriver driver = new ChromeDriver(options);
解壓(目錄):
ChromeOptions options = new ChromeOptions();
options.addArguments("load-extension=/path/to/extension");
WebDriver driver = new ChromeDriver(options);

TA貢獻(xiàn)1777條經(jīng)驗 獲得超10個贊
使用最新的 Selnium 4 Java jar 和 Selenium 服務(wù)器 jar 解決了我的額外 Chrome 瀏覽器窗口的問題
https://www.selenium.dev/downloads/
添加回答
舉報