在運行WebDriver自動化腳本時,我遇到了一種情況,它試圖打開一個包含一個帶有實時攝像頭(使用Java applet製作)段的頁面。一旦腳本到達此頁面 - 安全警告警報(帶有允許和不允許)將顯示並阻止執行過程。這是任何人都面臨的事實 - 我正在尋找一個選項來阻止此安全警告顯示在頁面上。如何處理Java警告彈出?
彈出窗口即將到來,我想點擊「允許」。如何將焦點移動到新的彈出窗口並點擊允許。
任何人都可以幫我解決上述問題嗎?
在運行WebDriver自動化腳本時,我遇到了一種情況,它試圖打開一個包含一個帶有實時攝像頭(使用Java applet製作)段的頁面。一旦腳本到達此頁面 - 安全警告警報(帶有允許和不允許)將顯示並阻止執行過程。這是任何人都面臨的事實 - 我正在尋找一個選項來阻止此安全警告顯示在頁面上。如何處理Java警告彈出?
彈出窗口即將到來,我想點擊「允許」。如何將焦點移動到新的彈出窗口並點擊允許。
任何人都可以幫我解決上述問題嗎?
我在接受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
這可能讓你更接近...
硒lenium使用了不同的firefox配置文件,因爲Java對我來說是非活動的,我沒有在Firefox瀏覽器Selenium啓動時使用我的firebug插件。我將不得不打開另一個Firefox來使用Firebug。
我通過在開始菜單中搜索%appdata%然後點擊Roaming/Mozilla/Firefox/Profile /,然後它給出了我的默認配置文件名稱,找到了我的默認Firefox配置文件。
你也可以打開Firefox幫助菜單(?標誌)&單擊疑難解答信息...點擊查看配置文件文件夾
然後我所以Java啓用和螢火蟲的是可配置硒用我的默認配置文件瀏覽器硒推出:
確保您使用「/」硒即使它可能在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是默認PROFI名le
您可以使用alert api處理此問題。使用driver.switchTo()。alert()。accept。這將模仿點擊確定按鈕。 – Vinay
我不認爲警報API可以處理Java彈出窗口。這很可能會失敗。不幸的是,Selenium無法處理它,你需要嘗試一些其他工具 - 最粗俗的是['Robot'](http://docs.oracle.com/javase/7/docs/api/java/ awt/Robot.html)類,更高級的例如[AutoIt的](http://www.autoitscript.com/)。 –
您可以使用Java的ROBOT類並單擊彈出。 – Hemanth