robotframework+Selenium2Library 模態窗口的處理

原文連接:https://www.cnblogs.com/zuola/p/5750018.html

 
所謂模態窗口,就是指除非採起有效的關閉手段,用戶的鼠標焦點或者輸入光標將一直停留在其上的對話框。(說白了,就是彈出了模態窗口以後,後面的窗口沒法被點擊)

這裏有個demo頁面
http://www.robotframework.net/ ... alogAjavascript

 

對於window.showModalDialog()模式打開的新窗口 Eg.點擊「支付詳情」的「詳情」,出來一個新頁面。如何定位呢?單純的select window title=payDetail page  是定位不到新窗口的。解決辦法以下:

在web自動化測試,可能時常會碰到,可是若是普通的操做(click button)來打開模態窗口

會致使RF卡住,運行不下去。因此必須使用異步的js來打開模態窗口

核心的代碼就是 setTimeout(function(){document.getElementById("aa").click()},100)

具體的demo以下圖

dialog.png

 

通常狀況下這樣就解決了。css

 

有時候getElementById時,根本就找不到此元素的id,怎麼辦??html

idea: 建立一個靜態id,給標籤分配一個id元素java

 

把新的id給到getElementById,以下:jquery

setTimeout(function(){document.getElementById("aa").click()},100)

 

 

繼續發散思惟一下: Click  element  xxx  換成 execute javascript  document.getElementById('xxx').click() 基本換成javascript執行,都會輕鬆經過。若是元素沒有ID的話,要用css定位的話,我用的jquery來執行。 Execute javascript  $(「css」).click()。
相關文章
相關標籤/搜索