51Testing软件测试论坛

标题: webdriver 获取弹出层里面的元素 [打印本页]

作者: zjianwlj    时间: 2012-12-28 12:18
标题: webdriver 获取弹出层里面的元素
1.点击新建按钮
  1. <INPUT id=add class=inputOper7 onclick="showDialog('newPersonHealthAdd.action','新增个人基本信息档案','add')" value=新建 type=button>
复制代码
2.这是js代码
  1. else if(status=='add'){
  2.                 top.windowCache.parentPage=this;
  3.                 top.windowCache.winDlg=top.$.dialog({
  4.                 id:"dlg1",
  5.                 title:title,
  6.                 ok:function()
  7.                 {
  8.                         if(!this.iwin.$("#form1" ).validate( "validate" )){
  9.                                 return false;
  10.                         }
  11.                         var personIdCard=this.iwin.$("#sfIdcard").val();
  12.                         var formData=this.iwin.$("#form1").serialize();
  13.                         $.ajax({
  14.                                 url : "http://xxxx.com:8280/AppcenterBPHSWeb/saveNewPersonHealth.action",
  15.                                 type : "POST",
  16.                                 cache : false,
  17.                                 async : false,
  18.                                 data: formData,
  19.                                 dataType : "json",
  20.                                 success : function(data) {
  21.                                         if(data=="true"){
  22.                                                 alert("保存成功!");
  23.                                         }else{
  24.                                                 alert("保存失败!");
  25.                                         }
  26.                                 }
  27.                         });
  28.                         setParmAndSelect({"personIdCard":personIdCard});
  29.                 },
复制代码
3.点击后打开一个模态对话框,但这个模态对话框是放到一个弹出的层里面的

谁能帮帮我怎么获取这个弹出框的元素????
作者: 六月天    时间: 2012-12-28 15:59
用switchTo()方法
作者: zjianwlj    时间: 2012-12-28 17:42
回复 2# 六月天


不行,父窗口和子窗口都是只有同一个句柄
作者: littlebig    时间: 2013-1-3 15:08
不知道直接用JavascriptExcutor可不可以解决,通过javascript直接操作
作者: 遇上鱼子    时间: 2013-1-23 15:39
其实不用的,你直在点击弹出图层前,thread.sleep 就可以,2.0已经很智能了,对于弹出页面才需要获取句柄重新定位
作者: bob123654    时间: 2013-2-4 11:05
对于alert、confirm、prompt、modal dialogue类型的弹出对话框用alert 就可以了  弹出窗口需要切换窗口句柄的
作者: langhai5212    时间: 2013-4-27 16:40
你先看弹出层窗口是不是在frame或者iframe中,如果是switch到里面,不是直接取元素就可以




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2