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()。
相关文章
相关标签/搜索