属性值中的 XPath 通配符

发布于 2024-12-22 19:51:08 字数 211 浏览 1 评论 0原文

我有以下 XPath 来匹配类跨度的属性:

//span[@class='amount']

我想匹配具有“amount”类属性但也可能具有其他类的所有元素。我以为我可以做到这一点:

//span[@class='*amount*'] 

但这不起作用......我该怎么做?

I have the following XPath to match attributes of the class span:

//span[@class='amount']

I want to match all elements that have the class attribute of "amount" but also may have other classes as well. I thought I could do this:

//span[@class='*amount*'] 

but that doesn't work...how can I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝眼睛不忧郁 2024-12-29 19:51:08

使用以下表达式:

//span[contains(concat(' ', @class, ' '), ' amount ')]

您可以单独使用 contains,但这也可以匹配 someamount 等类。在以下输入上测试上述表达式:

<root>
  <span class="test amount blah"/>
  <span class="amount test"/>
  <span class="test amount"/>
  <span class="amount"/>
  <span class="someamount"/>
</root>

它将选择前四个 span 元素,但不会选择最后一个。

Use the following expression:

//span[contains(concat(' ', @class, ' '), ' amount ')]

You could use contains on its own, but that would also match classes like someamount. Test the above expression on the following input:

<root>
  <span class="test amount blah"/>
  <span class="amount test"/>
  <span class="test amount"/>
  <span class="amount"/>
  <span class="someamount"/>
</root>

It will select the first four span elements, but not the last one.

平定天下 2024-12-29 19:51:08

您需要使用 contains 方法。请参阅如何在此处使用 XPath contains()?

//span [包含(@class,'金额')]

You need to use contains method. See How to use XPath contains() here?

//span[contains(@class,'amount')]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文