无法使 xpath 适用于 HTML 代码块

问题描述 投票:0回答:1

我有这个 html 块:

<td><a href="#" class="">   <i class="far fa-times mr-1"></i>Cancel</a></td>

我编写了以下 xpath 来查找此取消锚点,但这不起作用。我做错了什么?

//a[contains(text(), 'Cancel')]

以下 xpath 有效,但我需要了解我在上面的 xpath 中做错了什么:

//i[@class='far fa-times mr-1']/..
html selenium-webdriver xpath
1个回答
0
投票
//a[contains(text(), 'Cancel')]

上面的 XPath 表达式不起作用的原因是,上面的 XPath 查找包含文本

<a>
的锚点 (
Cancel
) 元素。但是,HTML 代码段中的
<a>
元素并不直接包含文本
Cancel
。相反,它包含一个
<i>
元素,然后是文本
Cancel

解决方案:更改XPath表达式如下:

//a[contains(., 'Cancel')]
© www.soinside.com 2019 - 2024. All rights reserved.