2017-10-06 49 views
0

我該如何處理在網頁彈出窗口(在Web應用程序測試),當它檢測到任何彈出的對話框中自動執行本身?如何自動處理彈出窗口 - 硒+ PYTHON

(這意味着在像在點擊一個按鈕任何情況下發生的,(或)儘快 一個頁面被打開,(或)發生在點擊一個按鈕等,這意味着我們不知道該對話框會顯示與否。

的想法是在測試任何Web應用程序來自動處理這些問題。

enter image description here enter image description here

如圖所示,例如,如果點擊'Deliver to'錨標籤,模式窗口將彈出。點擊鏈接做,但我面對的問題是:

  • 需要知道我是否需要處理在點擊鏈接或別的東西彈出。如何知道下一步是什麼?不只是爲了amazon.in(如圖所示),而是泛化(任何URL)。
  • 如果彈出(如圖所示)如何處理呢?當我試着處理警報框 alert = self.driver.switch_to.alert
    alert.accept()
    我試圖來處理相同的Windows。但沒有什麼好的!

我將分享我所引用的例子中的鏈接。我認爲可以從任何領域訪問相同的,我想編碼將是相同的。 https://www.amazon.in/b/ref=2017Diwali_wave2_shopalldeals_atf?node=3419926031

提前感謝!

+0

請說明您的具體問題,或者添加附加細節,以確切地突出你所需要的。正如目前所寫,很難確切地說出你在問什麼。請參閱[如何提問](https://stackoverflow.com/help/how-to-ask)頁面以獲得澄清此問題的幫助。 – DebanjanB

+0

@DebanjanB我很抱歉,但我已經更新了我的問題,並且我試圖對此做出更具體的描述。 –

+0

它既不是「彈出對話框」,也不是「提醒」。這是一個模式對話框,來自HTML DOM。將其作爲常規節點處理。 – DebanjanB

回答

0

JavascriptExecutor可以爲你工作。請注意,您應該在點擊調用警報的事件之前執行它。

((JavascriptExecutor) driver).executeScript("window.confirm = function(msg) { return true; }"); 

注意: - 請勿在點擊調用警報確認框的事件後使用它。以上內容由默認代碼設定的確認框作爲真正意味着你接受/點擊OK就對webdriver的會話的所有確認框,如果調用

希望它會幫助你:)