如何通过Selenium阻止chrome中的弹出窗口

问题描述 投票:0回答:3

我正在使用java和selenium编写自动化测试脚本。在这里,目标自动化 Org 有一些提醒弹出窗口,因此在我的结果中使用 driver.getWindowHandles() 命令会造成混乱。

我尝试下面的代码来尝试阻止chrome上的弹出窗口

    System.setProperty("webdriver.chrome.driver", "//chrome path in system//");
    ChromeOptions options  = new ChromeOptions();
    options.setExperimentalOption("excludeSwitches", "disable-popup-blocking");
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);
    driver = new ChromeDriver(capabilities);

但它不起作用,出现以下错误并阻止 chrome 启动:

来自未知错误:无法解析排除开关
来自未知错误:必须是一个列表

那么我应该做什么来关闭这些弹出窗口。任何答案表示赞赏。我正在使用 chrome 版本:'2.29.461591'java.version:'1.8.0_92'

java google-chrome selenium selenium-webdriver selenium-chromedriver
3个回答
2
投票

尝试通过将其类型转换为列表来发送

"disable-popup-blocking"
参数。 这在 python 中对我有用:

chrome_options.add_experimental_option("excludeSwitches", ["disable-popup-blocking"])

0
投票

您可以尝试下面的代码,它对我来说效果很好:

    System.setProperty("webdriver.chrome.driver", "//chrome path in system//");
    ChromeOptions options  = new ChromeOptions();
    //options.addArguments("incognito");
    options.addArguments("--disable-popup-blocking");
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);
    driver = new ChromeDriver(capabilities);

0
投票

这在 2024 年 2 月有效,Python

prefs = {
  "download.default_directory": "./",
  "credentials_enable_service": False,
  "profile.password_manager_enabled": False,
  "excludeSwitches": ["disable-popup-blocking"]
}
options.add_experimental_option("prefs", prefs)
© www.soinside.com 2019 - 2024. All rights reserved.