我已经阅读了这个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");
感谢您提供的任何帮助(特别是如果它有效)。
答案 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驱动程序=新的ChromeDriver(选项);
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"));