2017-04-19 34 views
0

我目前正在創建一個腳本,將測試網站的功能。目前我被彈出消息阻止,當滿足某些條件時彈出消息,當彈出消息出現時,我的腳本失敗,如果我添加類似driver.findElement(By.xpath("//div[4]/div/div/div/div/div/button")).click(); 的彈出窗口時,腳本失敗。 我的問題是:有沒有辦法檢查「如果按鈕存在,然後單擊按鈕x,如果不向前移動」。我知道什麼動作後(單擊)消息出現/不出現。請記住,我現在正在學習java和硒。如何處理彈出消息硒webdriver - Java

+0

歡迎堆棧溢出!請閱讀[問]和[預計需要多少研究工作?](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users)請提供您嘗試過的代碼以及執行結果,包括任何錯誤消息等。還請提供指向頁面和/或相關HTML的鏈接。 – JeffC

回答

0

巴努

你是對的,你應該使用if條件。 因爲您完全知道彈出哪種情況,您可以在if條件下使用彈出文本。

通過

driver.switchTo().alert().getText(); 
-1

使用的警報類來處理彈出窗口

警報警報= driver.switchTo()警報()。
alert.accept();

-1

您可以使用顯式的等待按鈕的存在: -

WebDriverWait wait = new WebDriverWait(driver,10) 
WebElement btn = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("---"))); 

然後解僱/接受下面的代碼警報消息用途: -

driver.switchTo().alert().dismiss(); 
driver.switchTo().alert().accept(); 
+0

我試圖使用明確的等待,我得到org.openqa.selenium.NoAlertPresentException:當試圖獲得對話框文本時沒有打開選項卡模式 我正在考慮IF方法。如果「A」不存在,則轉到「B」 – Banu

+0

Banu,我不確定您的應用程序的導航/性質。我建議明確的等待,因爲你想確定一個按鈕是否存在,然後想單擊按鈕。你可能會得到關於該函數增加異常的建議,所以如果情況是這樣的話。 – Deepak

相關問題