亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 Selenium Webdriver 每次運行腳本都會打開新窗口以及如何修復它?

為什么 Selenium Webdriver 每次運行腳本都會打開新窗口以及如何修復它?

開滿天機 2022-06-23 10:29:59
我正在嘗試運行以下代碼。但每次我運行一個新的 chrome 窗口時都會打開。如何解決這個問題。此外,打開的新 chrome 實例未登錄,因此我無法使用已安裝的擴展程序。有什么辦法可以解決這個問題?任何幫助將不勝感激。我提供了相同的屏幕截圖:代碼試驗:package com.webdriver;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class WebElements {    public static void main(String[] args) {        WebDriver driver = new ChromeDriver();        driver.get("http://www.google.com");    }}
查看完整描述

3 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

當您每次創建一個新的ChromeDriver實例時執行您的代碼,這會產生一個新的Chrome 瀏覽器會話。此功能是按照設計。

更好的方法是在每次運行Test Executiondriver.quit()后在方法內調用以優雅地tearDown(){}關閉和銷毀WebDriverWeb Browser實例。你可以在這里找到詳細的討論。

雖然這可以解決多個Chrome 瀏覽器窗口的問題,但您仍然不會在新會話中登錄。要登錄,您需要使用特定的Chrome 配置文件并存儲cookie并在以后重復使用。您將在此討論中找到有關如何創建和打開新 Chrome 配置文件的詳細討論。

要使用您已安裝的擴展,您需要打包/解壓縮它們并使用ChromeOptionsclass.


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,以便.zipzip 實用程序識別它)。

通過 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);


查看完整回答
反對 回復 2022-06-23
?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

如果您只想在最后關閉窗口,您可以致電

driver.Quit();

那應該關閉它并清理。


查看完整回答
反對 回復 2022-06-23
?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

使用最新的 Selnium 4 Java jar 和 Selenium 服務器 jar 解決了我的額外 Chrome 瀏覽器窗口的問題

https://www.selenium.dev/downloads/


查看完整回答
反對 回復 2022-06-23
  • 3 回答
  • 0 關注
  • 992 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號