【问题标题】:Selenium Disable “Disable Developer Mode Extensions” Popup While adding extensionSelenium 在添加扩展时禁用“禁用开发人员模式扩展”弹出窗口
【发布时间】:2017-07-06 22:39:13
【问题描述】:

我想禁用“禁用开发人员模式扩展”弹出窗口,同时保留本文keep "Disable developer mode" closed while adding extension中提到的扩展名

没有答案,我正在尝试做同样的事情。 Selenium 是否有类似的 chrome 选项?

【问题讨论】:

    标签: selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

    这是您问题的答案:

    在通过 Java 绑定使用 Selenium 3.4.0、chromedriver v2.30、Google Chrome 59.0 时,您可以使用 ChromeOption 类禁用“禁用开发人员模式扩展”弹出窗口,如下所示:

    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;
    
    public class Q44959944_dev_extn {
    
        public static void main(String[] args) {
    
    
            System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
            ChromeOptions options = new ChromeOptions();
            options.addArguments("start-maximized");
            options.addArguments("disable-infobars");
            options.addArguments("--disable-extensions"); 
            WebDriver driver = new ChromeDriver(options);
            driver.navigate().to("https://google.com");
        }
    }
    

    如果这能回答您的问题,请告诉我。

    【讨论】:

    • 对我不起作用。 “禁用开发者模式扩展”弹出窗口继续出现。
    【解决方案2】:

    DebanjanB 提供的解决方案不适用于最新版本的 Chrome 和 Chrome 驱动程序。

    要使其正常工作,您需要在 prefs 标志中指定排除开关和 useAutomationExtension。

                    System.setProperty("webdriver.chrome.driver", Constant.BROWSER_CHROME_PATH);
    
                    Map prefs = new HashMap<String, Object>();
                    prefs.put("profile.default_content_setting_values.geolocation", 1); // 1:allow 2:block
                    prefs.put("useAutomationExtension", false);
                    prefs.put("excludeSwitches", Collections.singletonList("enable-automation"));
    
                    ChromeOptions chromeOptions = new ChromeOptions();
                    chromeOptions.addArguments("-incognito");
                    chromeOptions.addArguments("--disable-gpu"); // applicable to windows os only
                    chromeOptions.setExperimentalOption("prefs", prefs);
                    chromeOptions.addArguments("--no-sandbox");
    
                    wDriver = new ChromeDriver(chromeOptions);
                    ((LocationContext)wDriver).setLocation(new Location(37.774929, -122.419416, 0));
    
                    wDrivers.put("chrome", wDriver);
                    log.info("New Chrome Browser Instance Created.");
    

    【讨论】:

      猜你喜欢
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      • 2014-05-28
      • 2015-07-29
      • 2014-05-30
      • 2018-10-01
      • 2018-06-22
      • 1970-01-01
      相关资源
      最近更新 更多