watir不能识别frame解决办法

这个问题网上可以搜到很多,但是都是场面上的东西;都是要求必须要使用frame标签,不能跳过这个而直接定位到frame下的子标签。比如:

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等】,所以不存在跨域问题,也就不需要添加信任网站的事了。

你可能感兴趣的:(IE,frame,watir)