首页 > 解决方案 > 如何使用 Selenium 通过 XPath 选择兄弟姐妹的孩子?

问题描述

提前感谢并为我的天真道歉:

我正在尝试选择作为 li 子元素的 a 元素的文本,它是我成功定位的 li 的兄弟。我的祖先选择器是:

var buyerName = detail.FindElement(By.XPath(".//*[(text()='Buyer:')]")).Text;

我已经尝试了以下的多次迭代,但我目前正在尝试:

var buyerEmail = detail.FindElement(By.XPath(".//*[(text()='Buyer:')following-sibling::li/a")).Text;

这告诉我该元素不存在。本质上,我正在使用的 HTML 结构是这样的:

<ul>
   <li>Buyer:</li>
   <li>
       <a>link</a>
   </li>
</ul>

有人会帮助解释我做错了什么以及如何正确使用 XPath 到达/进入 a 元素吗?

标签: htmlseleniumxpath

解决方案


似乎你xpath没有右括号。你几乎接近正确xpath

//ul/li[text()='Buyer:']/following-sibling::li/a

推荐阅读