为什么CONTAINS(TEXT(),&QOOT;STRING&QOOT;)不能在XPath中工作?

Why is contains(text(), quot;stringquot; ) not working in XPath?(为什么CONTAINS(TEXT(),QOOT;STRINGQOOT;)不能在XPath中工作?)

本文介绍了为什么CONTAINS(TEXT(),&QOOT;STRING&QOOT;)不能在XPath中工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经为下面的HTML代码编写了此表达式//*[contains(text(), "Brand:" )]。 数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">

<div class="info-product mt-3">
  <h3>Informazioni prodotto</h3>


  Brand: <span class="brand_title font-weight-bold text-uppercase"><a href="https://mammapack.com/brand/ava">Ava</a></span><br> SKU: 8002910009960<br> Peso Lordo: 0.471 kg <br> Dimensioni: 44.00 × 145.00 × 153.00 mm<br>

  <p class="mt-2">
    AVA BUCATO A MANO E2 GR.380</p>
</div>

我编写的XPath不起作用我想选择包含文本的节点Brand:。有人能告诉我我的错误吗?

推荐答案

您的XPath,

//*[contains(text(), "Brand:")]
将选择第一个文本节点子节点包含"Brand:"子字符串的所有元素。在XPath 2.0中,使用多个项目的序列作为第一个参数来调用contains()是错误的。

此XPath

//*[text()[contains(., "Brand:")]]

将选择字符串值包含"Brand:"子字符串的文本节点子级的所有元素。

另请参阅

  • XPath 1.0 vs 2.0+ different contains() behavior explanation
  • Testing text() nodes vs string values in XPath

这篇关于为什么CONTAINS(TEXT(),&QOOT;STRING&QOOT;)不能在XPath中工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:为什么CONTAINS(TEXT(),&QOOT;STRING&QOOT;)不能在XPath中工作?

基础教程推荐