selenium测试B/S系统,可是此系统ID都是自动随机生成,怎么确定元素
selenium测试B/S系统,可是此系统ID都是自动随机生成,怎么确定元素有共同研究的加QQ:379323216 如果父结点能确定的话,可以用父结点来定位。
如果class,style这些属性中包含唯一属性的话,也可以用来定位,
实在没有的话,就用序号来定位。 父结点不能确定,id都是随机的,class倒是一组相同,style怎么定位,这三个能不能实例一下? 偶一个项目中弹出的DIV都是在最上层,其他属性都无法定位,就用了STYLE定位。
具体方法先找元素://div
然后把z-index枚举出来,值最大的那个就是最上层的。
另一个项目中,所有的属性都无法用来唯一定位,就是用的序号去定位的。
算法差不多是这样的,先定位到这个元素的能定位到的祖先结点,然后根据祖先结点加上需要定位的结点名字,再加上序号去枚举出所有的结点,然后再把枚举出的结点做成对象实例化。
比如某个祖先结点为 //div[@id='id1'],要定位的div是其某个子孙结点,所有这类子孙结点都有个CLASS为CLASS1,则我所需要的结点一定在//div[@id='id1']//div这个XPATH中,得到所有的结点数X,则所有结点可通过//div[@id='id1']//div......//div[@id='id1']//div中,一一枚举,然后实例化成对象就可以操作了。
页:
[1]