watir不能识别frame解决办法
2013-03-28 15:41
225 查看
这个问题网上可以搜到很多,但是都是场面上的东西;都是要求必须要使用frame标签,不能跳过这个而直接定位到frame下的子标签。比如:
除此之外,frame的识别如果是通过webdriver去跑用例的话,一般能正常查找到;而如果是用旧版的方式去跑用例,则ie中不一定能识别到frame。因为旧版driver是基于js来实现的,所以有跨域问题,此时如果frame的url和内嵌主页的url不是同一个域的话就会有信任关系,因此可能造成定位frame失败的情况。
解决办法:
ie设置把frame的url域添加到信任网站中,把安全级别调整为低。这样使用旧版driver跑ie就可以正确识别frame了。
注:
新版webdriver没有上述问题,因为新版webdriver不是基于js实现的,而是直接调用各个浏览器核心接口【通过iedriverserver.exe, chromedriverserver.exe等】,所以不存在跨域问题,也就不需要添加信任网站的事了。
ie.frame("menu").link(:text, "Click Menu Item").click
除此之外,frame的识别如果是通过webdriver去跑用例的话,一般能正常查找到;而如果是用旧版的方式去跑用例,则ie中不一定能识别到frame。因为旧版driver是基于js来实现的,所以有跨域问题,此时如果frame的url和内嵌主页的url不是同一个域的话就会有信任关系,因此可能造成定位frame失败的情况。
解决办法:
ie设置把frame的url域添加到信任网站中,把安全级别调整为低。这样使用旧版driver跑ie就可以正确识别frame了。
注:
新版webdriver没有上述问题,因为新版webdriver不是基于js实现的,而是直接调用各个浏览器核心接口【通过iedriverserver.exe, chromedriverserver.exe等】,所以不存在跨域问题,也就不需要添加信任网站的事了。
相关文章推荐
- Sql语句不能识别Go的解决办法(动态创建表的触发器)
- windows2003不能识别到4G内存的解决办法
- ListView与手势识别不能正确响应的解决办法
- Sql语句不能识别Go的解决办法(动态创建表的触发器)
- libclntsh.so.11.1不能识别,解决办法
- SpriteBuilder 不能对设置spriteframe的sprite进行设置dynamic Physics解决办法
- 火狐中js函数不能识别非全字母参数值的解决办法
- 安卓开发中eclipse不能识别设备原因及解决办法
- QTP11不能识别.NET对象的解决办法
- JLink不能识别CPU错误的解决办法: Could not find supported CPU core on JTAG chain
- ubuntu下eclipse不能识别手机驱动解决办法
- linux,eclipse不能识别android手机解决办法~
- 【环境配置】ubuntu中shell命令不能识别通配符的解决办法之一
- FT232RL USB转串口TTL 黄色叹号 无法安装驱动下载不能识别 解决办法
- Mac版sublime text右键open in browser 不能识别中文名解决办法
- VSphere 5.1上web client不能识别vCenter5.1的解决办法
- 关于解决虚拟机里的xp系统不能识别USB的办法。。
- VS2010不能识别.net2.0的问题和解决办法
- XP系统32GB U盘不能识别的一种原因及解决办法
- QT中打开本地文件不能识别中文路径的解决办法