如何处理Java警告弹出窗口?

时间:2013-10-18 10:29:40

标签: selenium selenium-webdriver

在运行WebDriver自动化脚本的过程中,我遇到了这样一种情况:尝试打开包含带有实时摄像头(Made with Java applet)的一个片段的页面。一旦脚本到达此页面 - 安全警告警报(允许但不允许)显示并阻止执行过程。这是以前任何人都面临的事情 - 实际上我正在寻找阻止此安全警告显示在页面上的选项。

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

有人可以帮助我解决上述问题吗?

2 个答案:

答案 0 :(得分:7)

我在接受java applet“允许”

时遇到问题

我的解决方案是创建一个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

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

答案 1 :(得分:0)

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

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

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

然后我配置了selenium以使用我的默认配置文件,因此启用了Java并且在Selenium启动的浏览器中提供了Firebug:

确保使用" /"在硒中,即使它可能会使用" \"在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是您的默认配置文件的名称