关闭“...想知道你的位置”对话框

Dismiss "... wants to know your location" dialog

我正在使用 Selenium + Chrome驱动程序来自动测试网站。其中一项功能使用定位服务。我已经为我正在使用的 Chrome 浏览器启用了定位服务。

但是当我运行测试的时候,会出现下图的对话框。

以下代码找到警报 - 但 alert.dismiss() 似乎不起作用(即对话框仍然存在)

try {
            Alert alert = driver.switchTo().alert();
            alert.dismiss();
        } catch (NoAlertPresentException ex) {
            // System.out.println("No alert for this test case.");
        }   

 

测试代码如何单击“允许”按钮并关闭对话框?我的目标是单击“允许”。

--山姆--

Map<String, Object> prefs = new HashMap<String, Object>();
Map<String, Object> profile = new HashMap<String, Object>();
prefs.put("googlegeolocationaccess.enabled", true);
prefs.put("profile.default_content_setting_values.geolocation", 2); // 1:allow 2:block
prefs.put("profile.default_content_setting_values.notifications", 1);
prefs.put("profile.managed_default_content_settings", 1);
options.setExperimentalOption("prefs", prefs);
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
webDriver = new ChromeDriver(capabilities);

您也可以尝试设置 prefs.put("googlegeolocationaccess.enabled", false);

这将根据您在运行驱动程序

之前设置的标志,默认阻止或接受所有地理位置访问请求