如何使用带有Java的Selenium WebDriver在Firefox中允许或拒绝麦克风和相机弹出的通知

问题描述 投票:4回答:2

我无法使用Selenium WebDriver和Java在Firefox浏览器中单击访问摄像机身份验证弹出窗口的“允许”按钮。

以下是使用的代码:

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

java selenium selenium-webdriver
2个回答
3
投票

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

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

希望它能帮到你!


1
投票

我正在使用这些选项到我的firefox驱动程序,它完美的工作

public static FirefoxOptions setFireFoxOptions() {
    FirefoxOptions options = new FirefoxOptions();
    options.addPreference("media.navigator.permission.disabled", true);
    return options;
}
© www.soinside.com 2019 - 2024. All rights reserved.