0

在运行 WebDriver 自动化脚本时,我遇到了一种情况,它试图打开一个页面,该页面包含一个带有实时摄像头的片段(使用 Java 小程序制作)。一旦脚本到达此页面 - 安全警告警报(允许和不允许)显示并阻止执行过程。这是以前任何人都遇到过的事情吗?实际上,我正在寻找一个选项来阻止此安全警告以显示在页面上。

一个弹出窗口来了,我想点击“允许”。如何将焦点移动到新的弹出窗口并单击允许。

任何人都可以帮我解决上述问题吗?

4

2 回答 2

7

我在接受 Java 小程序“允许”时遇到问题

我的解决方案是创建一个具有始终激活插件的设置的 Firefox 配置文件:

FirefoxProfile fp = new FirefoxProfile();

fp.setAcceptUntrustedCertificates( true );

fp.setPreference( "security.enable_java", true ); 

fp.setPreference( "plugin.state.java", 2 );

WebDriver d = new FirefoxDriver( fp );

其中plugin.state.java:

plugin.state.java = 0 --> never activate
plugin.state.java = 1 --> ask to activate
plugin.state.java = 2 --> always activate

这可能会让你更接近...

于 2014-04-02T18:32:44.510 回答
0

Selenium 使用不同的 firefox 配置文件,因为 Java 对我来说是不活动的,而且我没有在 Firefox 浏览器 Selenium 中启动我的 firebug 插件。我必须打开另一个 Firefox 才能使用 Firebug。

我通过在开始菜单中搜索 %appdata% 然后单击 Roaming/Mozilla/Firefox/Profile/ 找到了我的默认 Firefox 配置文件,然后它给出了我的默认配置文件名称。

您还可以打开 Firefox 帮助菜单(?标志)并单击疑难解答信息...单击显示配置文件文件夹

然后我将 selenium 配置为使用我的默认配置文件,以便启用 Java 并且在 Selenium 启动的浏览器中可以使用 Firebug:

确保在 selenium 中使用“/”,即使它可能在 Windows 路径位置使用“\”

fp = webdriver.FirefoxProfile('C:/Users/xxx/AppData/Roaming/Mozilla/Firefox/Profiles/41s7nq9o.default')
driver = webdriver.Firefox(fp)
driver.get('www.stackoverflow.com')

其中 41s7nq9o.default 是您的默认配置文件的名称

于 2015-07-16T05:21:49.393 回答