我正在使用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'
尝试通过将其类型转换为列表来发送
"disable-popup-blocking"
参数。
这在 python 中对我有用:
chrome_options.add_experimental_option("excludeSwitches", ["disable-popup-blocking"])
您可以尝试下面的代码,它对我来说效果很好:
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);
这在 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)