论坛首页 综合技术论坛

使用selenium测试showModalDialog模态对话框

浏览 19708 次
该帖已经被评为精华帖
作者 正文
   发表时间:2009-08-14  
blueberry1228 写道
gigix 写道
blueberry1228 写道
楼主你好,想问一下,我若是用window.open来模拟window.showdialog,那新窗口怎么得到dialogArgments呢?
因为我尝试了你的方法,但是好像打开的窗口由于得不到dialogArgments,很多页面元素没有解析出来。请问你遇到过这种情况吗?

window.open是不需要这套玩意滴~~直接selectWindow就可以了~~记得用multi-frame模式~~

额,,我不太懂这个意思,selectWindow是说选中被打开的新窗口嘛?这个我倒是做了,主要是打开的新窗口没有从父窗口读到该有的参数,好象新窗口的代码里,像title这种属性都是父窗口传给它的。
我的问题在于新窗口没有得到父窗口的对象。。。

介个,和selenium木有关系~
0 请登录后投票
   发表时间:2009-08-14  
不知道是不是我的问题表达得不太清楚。。。
请问一下,如果采用window.open的方法绕过window.showmodaldialog,那当打开的页面代码不改变,仍然使用dialogArguments来获取父窗口的参数,它能获得吗?因为我打开来的子窗口会提示这个obj是null。
0 请登录后投票
   发表时间:2009-08-15  
blueberry1228 写道
不知道是不是我的问题表达得不太清楚。。。
请问一下,如果采用window.open的方法绕过window.showmodaldialog,那当打开的页面代码不改变,仍然使用dialogArguments来获取父窗口的参数,它能获得吗?因为我打开来的子窗口会提示这个obj是null。

这个我想你看看我的代码就知道了,这个参数是通过vArguments向子窗口传递的,但是我hack的代码里没有传递这个参数,因为window.open方法没有这个参数,所以在子窗口里通过window.dialogArguments是获取不到的,即你这种情况现在的方法无法处理。

我想,一种比较好的方式是将vArguments拼装到url的后面传递参数,即你需要对我的方法继续扩充:)
0 请登录后投票
   发表时间:2010-07-21  
hi 楼主,请教个问题:

private void  generateModalDialogReturnObject (String[] values){
    StringBuffer returnObject=new StringBuffer();
    returnObject.append(“var temp=new Array();”);
    for(int i=0;i<values.length;i++){
        returnObject.append(“temp[”+i+”]=’”+values[i]+”’;”);
    }
    return returnObject.toString();
}

这个方法的具体用途是什么?
我想把子窗口的数组返回,在父窗口中获取到,上面这个方法是怎么使用的啊??我的理解是将返回的信息放到数组里面,return ,可是感觉你的实现和我理解的是反的呢?
麻烦指点一下,非常感谢。
0 请登录后投票
   发表时间:2010-07-21  
楼主啊楼主,看到消息麻烦给回复一个
非常非常感谢!!
0 请登录后投票
   发表时间:2010-07-22  
返回值获取到了,getEval 写js得到的,还是不明白楼主写的那个方法的意思
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics