|
偶一个项目中弹出的DIV都是在最上层,其他属性都无法定位,就用了STYLE定位。
具体方法先找元素://div[contains(@style,'z-index:') and not(contains(@style,'display: none'))]
然后把z-index枚举出来,值最大的那个就是最上层的。
另一个项目中,所有的属性都无法用来唯一定位,就是用的序号去定位的。
算法差不多是这样的,先定位到这个元素的能定位到的祖先结点,然后根据祖先结点加上需要定位的结点名字,再加上序号去枚举出所有的结点,然后再把枚举出的结点做成对象实例化。
比如某个祖先结点为 //div[@id='id1'],要定位的div是其某个子孙结点,所有这类子孙结点都有个CLASS为CLASS1,则我所需要的结点一定在//div[@id='id1']//div[contains(@class,'class1')]这个XPATH中,得到所有的结点数X,则所有结点可通过//div[@id='id1']//div[contains(@class,'class1')][0]......//div[@id='id1']//div[contains(@class,'class1')][X]中,一一枚举,然后实例化成对象就可以操作了。 |
|