2017-03-03 53 views
1

我目前正在測試一個網站,我遇到的其中一個問題是使用非Javascript彈出窗口。如何管理Selnium中的非JS彈出窗口?

我嘗試過使用Selenium Alert界面。

樣的我做了什麼

Alert a = WebDriver.switchTo().alert() 
alert.accept() 
alert.dismiss() 

這似乎爲Javascript工作彈出警報,但不是非JavaScript的彈出警報。有什麼辦法來處理與基於非Javascript的Selenium彈出窗口?

+1

它如果可能,將有助於提供有關頁面的URL。 –

+0

對不起,管理員的一部分,所以我不能給一個URL。我只是想知道Selenium是否有辦法處理不基於Javascript的彈出窗口? – Jay

+0

這取決於它是什麼樣的彈出。它是基於HTML嗎?我們必須看到截圖並需要更多信息。 – JeffC

回答

0

上次我遇到了這樣的彈出窗口,這是一個「不可見」的框架。使用您最喜歡的瀏覽器打開頁面,突出顯示彈出窗口中的某些內容,右鍵單擊它並選擇「檢查元素」,然後按照其XPath。您可能需要在Selenium中多次切換幀以獲取您需要的位置。

+0

謝謝,我會試試這個! – Jay

0

如果它的HTML彈出框沒有特定的事情需要完成,那麼就像正常的網頁一樣定位所需的元素。

但是,如果沒有找到它的話說元素,則可以有兩種情況:

  1. 彈出存在一個iframe
  2. 這裏面彈出你是裏面的iframe之前但是彈出存在於defaultContent查看。

根據的情況下,使用這些解決方案:

#1:driver.switchTo().frame(0); //這裏0表示第一個iframe中,你可以使用iframe的ID也

#2:driver.switchTo().defaultContent();

相關問題