|
个人觉得对于有iframe的页面用webDriver不是很爽啊~频繁的选择frame退出frame真繁琐,还是比较喜欢selenium的方式(当然我是习惯用xpath)。。。
对于5楼所说的webDriver转selenium的方式其实只是采用了河selenium1.0大体相同的一些api接口,方便selenium1.0的用户的使用习惯,到底层依然是通过webDriver的方式进行的。和selenium1.0差别太大。。
对于纯selenium的方式而言,基本可以告别大多数的选择frame
当然你要选frame也可以,只是很繁琐,记住这个原则
有A B C 三个frame,另外还有一个最跟层top,在A与C之上,即top包含A与C
A 包含B A与C平行
到达当前页面默认是在top,此时selenium可以直接很方便的选择ABC任何frame的东西(当然xpath要唯一且正确),例如B内有控件F,你其实可以直接根据F的属性选择(//F[@id='XXXX']等),无需要先selectFrame(B)的操作
当然你要先selectFrame(B)也不会错,但后面你就会有问题了,如果你选择了frameB ,此时如果你需要再继续选择A或C的其他控件的话,那你得先退出frameB,再选择,这不是多此一举么。。。。
如果不选择frameB,就根本不需要这样繁琐的操作,直接操作Bframe的F控件,也可以直接操作A或Cframe的其它控件。。。。
而相对于webDriver......方正我遇到的情况,有frame的页面,类似于上面的例子,就必须这样来回的选frame,退frame,烦死个人啊
,反正目前还没找到解决方法,可能我水平太低,等待高手
这也是我为什么推荐selenium,不建议选frame操作的原因 |
|