获取网页关联元素
指令说明
获取网页中指定元素的父/子/兄弟/子孙元素,父元素始终只有一个,子元素和兄弟元素可能有多个。当查找到多个匹配的子孙元素时会报错,需要修改元素,以确保始终只能匹配到唯一元素。 子孙元素+index也可以实现获取指定元素的第n个直接子元素
指令输入参数
| 输入参数 | 输入参数类型 | 说明 |
|---|---|---|
| 网页对象 | WebPage | 获取该网页的元素 |
| 网页元素 | WebElement 或 ElementDescriptor | 获取该元素的关联元素,可以选择捕获的网页元素也可以选择获取网页元素、获取网页相似元素、获取网页关联元素等指令获取到网页元素 |
| 关联方式 | 枚举项 | 父元素、子元素、兄弟元素、前一个兄弟元素、后一个兄弟元素、子孙元素 |
| 子孙元素 | ElementDescriptor | 捕获的网页元素,仅关联方式是子孙元素时需要该参数,会从上面的 网页元素 参数开始查找子孙元素 |
| 等待元素出现时长 | float | 若元素未出现则一直等待,直到元素出现为止,若超过最长等待时间后元素仍未出现则触发错误或者返回空列表,单位:秒 |
指令输出参数
| 输出参数 | 输出参数类型 | 说明 |
|---|---|---|
| 网页元素 | WebElement 或 List[WebElement] | 关联方式是父元素、前一个兄弟元素、后一个兄弟元素、子孙元素 时类型是WebElement,否则是 List[WebElement] |
类型定义参考
提示
- 需要先安装曲辕RPA浏览器插件
- 如何捕获及编辑元素属性参考 捕获及编辑网页元素属性
适用场景
- 当无法唯一定位元素时可以通过关联元素尝试获取期望的元素
- 商品列表中每件商品都有名称和价格,当获取到商品名称后可以通过关联元素获取这件商品对应的价格
示例
获取taobao商品名称及价格
商品列表(.tbpc-row)包含多个商品元素(.tbpc-col),每个商品元素都有名称元素(A SPAN.info-wrapper-title-text)和价格元素(A DIV.price-wrapper)

流程
- 获取商品列表元素
- 获取商品列表元素的所有直接子元素,即单个商品元素
- 获取每个商品的子孙元素

-
商品列表元素

-
子孙元素(商品价格元素)
由于需要查找每个商品的名称,所以不能勾选 单个商品元素 及之前的元素。 当查找单个商品元素的子孙元素时会通过
单个商品元素.querySelectorAll(勾选的Tag1 勾选的Tag2 ...)方式查找,因此可以按需勾选Tag
常见问题
参考 网页操作常见问题