将元素内容提取为列表并使用 XPath 1.0 排除子元素
Extract element content as list and exclude sub element with XPath 1.0
我目前正在尝试提取 li
字符串作为元素列表,但我
想要排除 form
元素
到目前为止,我没有返回两个项目,因为 a
之间的元素
//*[@id="quickPromoBucketContent"]//li[descendant::form]/text()
HTML:
<div class="bucket" id="quickPromoBucketContent">
<div class="content">
<ul class="qpUL">
<li>Sparen Sie 5 % beim Kauf von <a href="">Wasserdichte Handyhülle 2 Stück</a> wenn Sie 1 oder mehrere Auto Handy Halterung aus dem Angebot von UGREEN GROUP LIMITED UK
erwerben! Geben Sie den Code 49DFYWAQ an der Kasse ein. <a href="" target="AmazonHelp">Weitere Informationen</a> (Teilnahmebedingungen)
<form method="post" action="/gp/item-dispatch">
</form>
</li>
<li>Sparen Sie 5 % beim Kauf von <a href="">USB C PD Schnellladekabel</a> wenn Sie 1 oder mehrere Auto Handyhalterung aus dem Angebot von UGREEN GROUP LIMITED UK erwerben!
Geben Sie den Code 5BWVW4YN an der Kasse ein. <a href="" target="AmazonHelp">Weitere Informationen</a> (Teilnahmebedingungen)
<form method="post" action="/gp/item-dispatch">
</form>
</li>
<li><span id="productPromotion_clipped"><span>Aktivieren Sie diesen Coupon</span>, um beim Kauf dieses Produkts bei Amazon.de 10 % zu sparen.</span>
</li><input type="hidden" name="specialOffersHidden" id="specialOffersHidden">
<li>
<div class="amabot_widget">
</div>
</li>
</ul>
</div>
</div>
根据你的示例代码猜想你要查询
- 下面的所有 li 元素和具有
id="quickPromoBucketContent"
属性的元素
- 具有后代形式
- 从那里获取所有 child/descendant 个节点的文本
这样试试:
//*[@id="quickPromoBucketContent"]//li[descendant::form]/descendant-or-self::*/text()
我目前正在尝试提取 li
字符串作为元素列表,但我
想要排除 form
元素
到目前为止,我没有返回两个项目,因为 a
之间的元素
//*[@id="quickPromoBucketContent"]//li[descendant::form]/text()
HTML:
<div class="bucket" id="quickPromoBucketContent">
<div class="content">
<ul class="qpUL">
<li>Sparen Sie 5 % beim Kauf von <a href="">Wasserdichte Handyhülle 2 Stück</a> wenn Sie 1 oder mehrere Auto Handy Halterung aus dem Angebot von UGREEN GROUP LIMITED UK
erwerben! Geben Sie den Code 49DFYWAQ an der Kasse ein. <a href="" target="AmazonHelp">Weitere Informationen</a> (Teilnahmebedingungen)
<form method="post" action="/gp/item-dispatch">
</form>
</li>
<li>Sparen Sie 5 % beim Kauf von <a href="">USB C PD Schnellladekabel</a> wenn Sie 1 oder mehrere Auto Handyhalterung aus dem Angebot von UGREEN GROUP LIMITED UK erwerben!
Geben Sie den Code 5BWVW4YN an der Kasse ein. <a href="" target="AmazonHelp">Weitere Informationen</a> (Teilnahmebedingungen)
<form method="post" action="/gp/item-dispatch">
</form>
</li>
<li><span id="productPromotion_clipped"><span>Aktivieren Sie diesen Coupon</span>, um beim Kauf dieses Produkts bei Amazon.de 10 % zu sparen.</span>
</li><input type="hidden" name="specialOffersHidden" id="specialOffersHidden">
<li>
<div class="amabot_widget">
</div>
</li>
</ul>
</div>
</div>
根据你的示例代码猜想你要查询
- 下面的所有 li 元素和具有
id="quickPromoBucketContent"
属性的元素
- 具有后代形式
- 从那里获取所有 child/descendant 个节点的文本
这样试试:
//*[@id="quickPromoBucketContent"]//li[descendant::form]/descendant-or-self::*/text()