允许在Chrome 64中使用相机和麦克风访问

时间:2018-02-14 00:21:14

标签: 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");

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

3 个答案:

答案 0 :(得分:1)

如果您真的想要自动化对话框(而不是使用DebanjanB评论中描述的Chrome命令行选项:Not able to automate **Allow Camera** pop up),那么您需要使用桌面自动化工具Sikuli

答案 1 :(得分:0)

所以最后,这是一个非常简单的修复方法。使它适合我。 &#34; use-fake-ui-for-media-stream&#34;争论打开了真正的相机和麦克风。

ChromeOptions选项=新的ChromeOptions(); options.addArguments(&#34;使用-假UI换媒体流&#34);

System.setProperty(&#34; webdriver.chrome.driver&#34;,&#34; C:\ Tools \ chromedriver_win32 \ chromedriver.exe&#34;); WebDriver驱动程序=新的C​​hromeDriver(选项);

driver.get();

答案 2 :(得分:0)

允许相机使用添加参数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"));