本文介绍了如何在此处使用 XPath contains()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试学习 XPath.我查看了此处的其他 contains()
示例,但没有使用 AND 运算符.我无法让它工作:
//ul[@class='featureList' and contains(li, 'Model')]
开启:
...<ul class="featureList"><li><b>类型:</b>夹扇</li><li><b>特点:</b>空气移动:65 英尺.安培:1.1夹子:夹住最大 1.63" 的任何表面插头:重型型号上的 3 脚接地插头用途:车库、车间、宿舍、健身室、甲板、办公室和</li><li><b>速度设置:</b>2种速度</li><li><b>颜色:</b>黑色</li><li><b>功耗:</b>62W/li> 解决方案
您只查看查询中的第一个 li
子项,而不是查找任何 li
> 可能包含文本的子元素,'Model'
.您需要的是如下查询:
//ul[@class='featureList' 和 ./li[contains(.,'Model')]]
此查询将向您提供具有 featureList
的 class
和一个或多个 li
子元素的元素,这些子元素包含文本 '模型'
.
I'm trying to learn XPath. I looked at the other contains()
examples around here, but nothing that uses an AND operator. I can't get this to work:
//ul[@class='featureList' and contains(li, 'Model')]
On:
...
<ul class="featureList">
<li><b>Type:</b> Clip Fan</li><li><b>Feature:</b> Air Moved: 65 ft.
Amps: 1.1
Clip: Grips any surface up to 1.63"
Plug: 3 prong grounded plug on heavy duty model
Usage: Garage, Workshop, Dorm, Work-out room, Deck, Office & more.</li><li><b>Speed Setting:</b> 2 speeds</li><li><b>Color:</b> Black</li><li><b>Power Consumption:</b> 62 W</li><li><b>Height:</b> 14.5"</li><li><b>Width:</b> Grill Diameter: 9.5"</li><li><b>Length:</b> 11.5"</li>
<li><b>Model #: </b>CR1-0081-06</li>
<li><b>Item #: </b>N82E16896817007</li>
<li><b>Return Policy: </b></li>
</ul>
...
解决方案
You are only looking at the first li
child in the query you have instead of looking for any li
child element that may contain the text, 'Model'
. What you need is a query like the following:
//ul[@class='featureList' and ./li[contains(.,'Model')]]
This query will give you the elements that have a class
of featureList
with one or more li
children that contain the text, 'Model'
.
这篇关于如何在此处使用 XPath contains()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!