2015-12-03 209 views
4

我有一個方案來創建一個新的帳戶,我需要在彈出窗口中提供帳戶名稱,然後單擊「確定」。彈出窗口的和運行腳本
我已經使用機器人操作,警報將關閉,並創建一個新的帳戶,但得到下面的錯誤:警報關閉,但獲取意外的警報打開錯誤

org.openqa.selenium.UnhandledAlertException: unexpected alert open (Session info: chrome=46.0.2490.86) (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.3 x86_64)
(WARNING: The server did not provide any stacktrace information)

我曾嘗試下面的代碼:

///String handle= driver.getWindowHandle(); 
driver.findElement(By.xpath("//*[@id='createAccount']/p")).click(); 
Thread.sleep(300); 
Robot rb =new Robot(); 
rb.keyPress(KeyEvent.VK_O); 
rb.keyRelease(KeyEvent.VK_O); 
rb.keyPress(KeyEvent.VK_U); 
rb.keyRelease(KeyEvent.VK_U); 
Thread.sleep(200); 
rb.keyPress(KeyEvent.VK_ENTER); 
rb.keyRelease(KeyEvent.VK_ENTER); 
Thread.sleep(400); 
///driver.switchTo().window(handle); 
//* Alert alt = driver.switchTo().alert(); 
//*alt.accept(); 
// driver.switchTo().alert().accept(); 
driver.findElement(By.id("passwd")).sendKeys("[email protected]");  

評論行是我從谷歌獲得的解決方案,但這也不起作用。

附加信息:當我做

Alert alt = driver.switchTo().alert(); 
alt.accept(); 

driver.switchTo().alert().accept(); 

我得到下面的錯誤:

org.openqa.selenium.WebDriverException: unknown error: unhandled inspector error: {"code":-32603,"message":"Could not handle JavaScript dialog"} (Session info: chrome=46.0.2490.86) (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any stacktrace information)

+1

我有同樣的問題。它隨機發生。 –

回答

0

由於thread.sleep()需要Exception處理,你可能會扔來電者的例外情況?

而且,既然你說這工作,但只是報告的其他異常錯誤,也許你應該將代碼放在一個try/catch和捕獲任何睡眠interruption exception(不記得確切的措辭),然後還有其他異常它會報告,並且簡單地忽略這兩個異常,但會拋出其他任何遇到的異常。

我意識到目標(通常)是找到原因並修復它,目前至少可以忽略它。