如何使用带有Java的Selenium WebDriver在Firefox中允许或拒绝通知麦克风和摄像头弹出窗口

时间:2019-01-02 07:53:29

标签: java selenium selenium-webdriver

在使用Java的Selenium WebDriver的情况下,我无法在Firefox浏览器中单击访问摄像机身份验证弹出窗口的 Allow (允许)按钮。

下面是正在使用的代码:

Map<String, Object> prefs = new HashMap<String, Object>();
WebDriverManager.firefoxdriver().setup();
prefs.put("profile.default_content_setting_values.media_stream_mic", 1);
prefs.put("profile.default_content_setting_values.media_stream_camera", 1);
prefs.put("profile.default_content_setting_values.notifications", 1);        
prefs.put("credentials_enable_service", false); 
prefs.put("profile.password_manager_enabled", false);


FirefoxOptions options = new FirefoxOptions();
options.addPreference("dom.webnotifications.enabled", false);
options.addArguments("--disable-infobars");
options.addArguments("use-fake-ui-for-media-stream");
options.addArguments("start-maximized");
options.addArguments("--disable-extensions");
driver = new FirefoxDriver(options);

这是弹出窗口的外观:

enter image description here

2 个答案:

答案 0 :(得分:3)

您可以使用以下首选项(在这种情况下允许):

...
options.addPreference("permissions.default.microphone", 1);
options.addPreference("permissions.default.camera", 1);
...

希望对您有帮助!

答案 1 :(得分:1)

我在我的firefox驱动程序中使用了这些选项,效果很好

public static FirefoxOptions setFireFoxOptions() {
    FirefoxOptions options = new FirefoxOptions();
    options.addPreference("media.navigator.permission.disabled", true);
    return options;
}