我使用 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"
的内容?
//*[@id='Main']//*[not(div[@id="orderform"])]
div
标签是子标签,您应该下一级。
//*[@id='Main']/*[not(div[@id="orderform"])]
带有
class
的示例:
//*[@id='Main']//*[not(*[contains(@class, 'orderform')])]