XPath:排除子元素

问题描述 投票:0回答:2

我使用 XPath 抓取内容。我必须抓取的是具有给定

div
id
中的内容。在这个
div
里面还有另一个
div
,我不想刮掉其中的内容。

我使用以下 XPath:

//[@id='Main'][not(contains(div/@id, 'orderform'))]

但是使用这个 XPath,我并不是像我期望的那样从所有 url 中提取数据,而是从那些确实有

div id="Main"
并且内部没有
div id="orderform"
的 url 中提取。

我应该使用什么 XPath 来抓取整个

div id="Main"
,但排除
div id="orderform"
的内容?

xpath
2个回答
5
投票
//*[@id='Main']//*[not(div[@id="orderform"])]

div
标签是子标签,您应该下一级。

//*[@id='Main']/*[not(div[@id="orderform"])]

0
投票

带有

class
的示例:

//*[@id='Main']//*[not(*[contains(@class, 'orderform')])]
© www.soinside.com 2019 - 2024. All rights reserved.