Selenium VBA如何获取子WebElement对应的父WebElement?
获取WebElement的父元素及同级元素方法
直接获取父元素
你可以通过相对XPath从已定位的ProductVariable元素出发,直接获取它的父WebElement:
Set ParentElement = ProductVariable.FindElementByXPath("./..")
这里的./..是相对路径语法,代表当前元素的父节点。
直接定位同级元素(更高效)
既然你的最终需求是获取原元素的同级元素,没必要单独先获取父元素,直接用相对XPath一步到位即可:
- 获取下一个同级元素:
Set SiblingElement = ProductVariable.FindElementByXPath("./following-sibling::*") - 获取上一个同级元素:
Set SiblingElement = ProductVariable.FindElementByXPath("./preceding-sibling::*") - 如果需要指定同级元素的标签或类(比如目标是带特定类的div):
Set SiblingElement = ProductVariable.FindElementByXPath("./following-sibling::div[@class='target-class']")
注意点
- 相对XPath开头的
./必须加上,它表示从当前元素所在位置开始查找,而非整个文档根节点,能避免定位到无关元素。 - 如果
ProductRow本身是父元素的容器,理论上也可以直接在ProductRow下定位同级元素,但既然你说无法直接抓取,那基于ProductVariable的相对路径是更可靠的方案。
内容的提问来源于stack exchange,提问作者Andras
相关产品推荐
相关产品推荐

