webdriver如何切换到div弹出框
在一个iframe中弹出一个div 模拟的弹出框, class 同后面的小窗一样都是dialog_box,id是 "dialog_box_94201" 后面5位数字是动态,弹出框的id也是一样格式,仅后面5位数字不一致,这种情况如何模拟点击弹出框中的ok按钮? 试过用switch to alert失败。 div不用切换。跟其他元素一样的定位就可以了。 我也遇到了,无法点击,使用id和class都定位不到 yye_2010 发表于 2016-1-22 15:37我也遇到了,无法点击,使用id和class都定位不到
的确不要切换,我这边是想点击button按钮,最后用了xpath找button上的文本,By.xpath(“//*) zzhengjian 发表于 2016-1-21 21:51
div不用切换。跟其他元素一样的定位就可以了。
谢谢回复,现在又碰到一个新问题,切换窗口, 系统点击一个主窗口的按钮,弹出一个子窗口,我用以下代码来切换,然后获取当前窗体URL,打印出来的URL竟然不是当前所见的两个窗体的,去查看该URL只有一个button,请问有没有碰到过类似情况,有何解决方案?
Set<String> handles = driver.getWindowHandles();
String currentHandle = driver.getWindowHandle();
for(String handle : handles){
if(!handle.equals(currentHandle)){
driver.switchTo().window(handle);
break;
}
} andyclock 发表于 2016-1-22 16:39
谢谢回复,现在又碰到一个新问题,切换窗口, 系统点击一个主窗口的按钮,弹出一个子窗口,我用以下代码来 ...
你的代码只有在两个窗口的时候是正确的,可以改下按窗口上的title来切换。
打印下你的getWindowHandles,或许已经不止两个窗口了。 zzhengjian 发表于 2016-1-23 16:07
你的代码只有在两个窗口的时候是正确的,可以改下按窗口上的title来切换。
打印下你的getWindowHandles ...
打印了下getWindowhandles发现只有一个,后来网上查了下文章结合chrome开发模式查看,应该是一个frameset 包含frame 做成一个类似窗口的弹出框,上面有URL但是无法编辑,然后我用xpath chrome开发模式里侦测右键复制获得的xpath, 但是switch to的时候失败,找不到元素,frameset 和 frame也没有id 或者name之类的属性。。。到这一步又卡住了。。。 andyclock 发表于 2016-1-25 12:36
打印了下getWindowhandles发现只有一个,后来网上查了下文章结合chrome开发模式查看,应该是一个frameset ...
不清楚你的具体网页情况,但是根据你的描述来看,也有可能是一个modeldialog. 即使是frame做成的弹出框,也应该不会有URL在上面,有地址栏的话就应该是一个独立的浏览器窗口。
页:
[1]