Java selenium -父子、兄弟、相邻节点定位方式详解

2021-09-14 17:27:50 浏览数 (2)

一.定位单节点

同级节点定位:

页面代码如下

我们需要通过后面的节点去定位前面的节点时,有两种方式:

1.//td[contains(text(),'2104191603')]/../td[1]

2.//td[contains(text(),'2104191603')]/preceding-sibling::td[1]

都是通过当前节点定位同一级上一个节点。可以通过修改对应级别去定位想要的节点。

如果需要通过前面的节点去定位后面的节点:

//td[contains(text(),'2104191603')]/following-sibling::td[1]

父子级节点定位:

页面代码如下

当我们需要通过某个子节点定位父级节点时,如果只需要找到父节点,那么可以使用

//div[contains(text(),'施工证')]/..

如果需要定位到父节点的“div” tag,可以使用

//div[contains(text(),'施工证')]/parent::div

也可以使用通配符*来完成父节点定位

//div[contains(text(),'施工证')]/parent::*

当我们需要通过父节点定位子节点时,可以直接在后面接上/child::span

二.定位多节点

如上图,页面存在很多动态的图片上传数量限制,我们需要根据数量限制去上传对应的图片。首先就需要定位页面图片数量的父级节点,再通过这个父级节点定位到第一个span标签就可以拿到数量限制了。

所以对应的定位方法如下,会定位到所有数量限制

//*[contains(@class, 'drawingsUploadLayout-container-imgLimit')]/span[1]

0 人点赞