如何在xpath选择中转义符号(normalize-space())

时间:2019-04-04 09:57:07

标签: html selenium google-chrome dom xpath

例如,我在html页面上有一个项目(类别)列表,例如:

<a href="">Category1</a>
<a href="">Category2&nbsp;</a>
<a href="">Category3</a>

类别搜寻器给了我列表:

所以,我想完全匹配Category2,为此我使用XPATH:

//a[normalize-space(text())='Category2']

normalize-space()方法用于删除空格,但是当链接具有而不是正常的空格字符时,该方法将无效。

那么,如何使用XPath 1.0规范化&nbsp的空间以匹配文本中带有Category2的链接?

1 个答案:

答案 0 :(得分:1)

尝试使用包含

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

您可以使用开始于

//a[starts-with(normalize-space(text()),'Category2')]

您可以尝试一下。

//a[normalize-space(text())='Category2\u00a0']

在这种情况下,您不需要使用normalize-space。

//a[text()='Category2\u00a0']