java - 在 Chrome 64 中允许访问相机和麦克风

标签 java google-chrome selenium

我已经读过这篇文章 promising thread尝试启用此功能,但这些建议不起作用,或者我没有很好地遵循。我尝试了上一个链接中列出的两种方法,但没有运气。 IDE 中没有错误,Chrome 启动正常,但仍然不允许使用相机和麦克风。(详细信息如下)。

我还应该提到,我不仅仅是想让弹出窗口消失,我还需要摄像头和麦克风来测试我们的应用程序。

我使用的是 Java 8、Selenium Webdriver 3.8.1、Chrome v.64。

选项 1

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("C:\\Program Files (x86)\\Google\\Chrome\\Application\\64.0.3282.140\\default_apps\\1.4_0.crx"));
options.addArguments("start-maximized");

Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("profile.content_settings.exceptions.media_stream_camera.'https://<oursite>:443,'.setting","1");
prefs.put("profile.content_settings.exceptions.media_stream_mic.'https://<oursite>:443,'.setting","1");
options.setExperimentalOption("prefs", prefs);

System.setProperty("webdriver.chrome.driver", "C:\\Tools\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver(options);

driver.get(<oursite>);

选项 2

options.addArguments("user-data-dir=C:\\Users\\<user>\\AppData\\Local\\Google\\Chrome\\User Data\\Default");

感谢您提供的任何帮助(特别是如果它有效的话)。

最佳答案

允许相机使用添加参数use-fake-ui-for-media-stream

ChromeOptions optionsC = new ChromeOptions();
optionsC.addArguments(Arrays.asList("disable-infobars", "ignore-certificate-errors", "start-maximized","use-fake-ui-for-media-stream"));

关于java - 在 Chrome 64 中允许访问相机和麦克风,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48777822/

相关文章:

java - 以 java OOP 风格处理 SQL 数据库连接的正确方法

java - Java与C之间的Socket通信: Good buffer size

css - 如何更改:-webkit-autofill?的样式

html - 链接之间的制表符会导致 Chrome 中的伪元素出现问题

javascript - 如何在 Selenium Python 中处理模态框或弹出框

java - 区分具有相同类的两个 html 元素

java - Akka Actor 意外地清理了它的状态

java - 将嵌套对象发送到 Jaspersoft iReport

javascript - 检测 Tab 重复事件

python - RaspberryPi3 上的 WebDriverException : Message: invalid argument: can't kill an exited process with GeckoDriver, Selenium 和 Python