51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 6743|回复: 7
打印 上一主题 下一主题

webdriver如何切换到div弹出框

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-1-20 16:27:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在一个iframe中弹出一个div 模拟的弹出框, class 同后面的小窗一样都是dialog_box,  id是 "dialog_box_94201" 后面5位数字是动态,弹出框的id也是一样格式,仅后面5位数字不一致,这种情况如何模拟点击弹出框中的ok按钮? 试过用switch to alert失败。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2015-3-16 21:26
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2016-1-21 21:51:02 | 只看该作者
    div不用切换。跟其他元素一样的定位就可以了。

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-21 11:50
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2016-1-22 15:37:46 | 只看该作者
    我也遇到了,无法点击,使用id和class都定位不到
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2016-1-22 16:33:58 | 只看该作者
    yye_2010 发表于 2016-1-22 15:37
    我也遇到了,无法点击,使用id和class都定位不到

    的确不要切换,我这边是想点击button按钮,最后用了xpath找button上的文本,By.xpath(“//*[text()='ok'])
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2016-1-22 16:39:55 | 只看该作者
    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;
                                    }
                    }
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-3-16 21:26
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
    发表于 2016-1-23 16:07:20 | 只看该作者
    andyclock 发表于 2016-1-22 16:39
    谢谢回复,现在又碰到一个新问题,切换窗口, 系统点击一个主窗口的按钮,弹出一个子窗口,我用以下代码来 ...

    你的代码只有在两个窗口的时候是正确的,可以改下按窗口上的title来切换。
    打印下你的getWindowHandles,或许已经不止两个窗口了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2016-1-25 12:36:19 | 只看该作者
    zzhengjian 发表于 2016-1-23 16:07
    你的代码只有在两个窗口的时候是正确的,可以改下按窗口上的title来切换。
    打印下你的getWindowHandles ...

    打印了下getWindowhandles发现只有一个,后来网上查了下文章结合chrome开发模式查看,应该是一个frameset 包含frame 做成一个类似窗口的弹出框,上面有URL但是无法编辑,然后我用xpath chrome开发模式里侦测右键复制获得的xpath, 但是switch to的时候失败,找不到元素,frameset 和 frame也没有id 或者name之类的属性。。。到这一步又卡住了。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-3-16 21:26
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
    发表于 2016-1-26 21:09:29 | 只看该作者
    andyclock 发表于 2016-1-25 12:36
    打印了下getWindowhandles发现只有一个,后来网上查了下文章结合chrome开发模式查看,应该是一个frameset ...

    不清楚你的具体网页情况,但是根据你的描述来看,也有可能是一个modeldialog. 即使是frame做成的弹出框,也应该不会有URL在上面,有地址栏的话就应该是一个独立的浏览器窗口。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-28 11:56 , Processed in 0.071738 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表