在运行WebDriver自动化脚本的过程中,我遇到了这样一种情况:尝试打开包含带有实时摄像头(Made with Java applet)的一个片段的页面。一旦脚本到达此页面 - 安全警告警报(允许但不允许)显示并阻止执行过程。这是以前任何人都面临的事情 - 实际上我正在寻找阻止此安全警告显示在页面上的选项。
弹出窗口即将到来,我想点击“允许”。如何将焦点移动到新的弹出窗口并单击“允许”。
有人可以帮助我解决上述问题吗?
答案 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是您的默认配置文件的名称