Xpath-尝试获取不在特定div下的所有li对象。

Xpath-尝试获取不在特定div下的所有li对象。,xpath,rvest,Xpath,Rvest,我正在尝试从以下页面获取: 参考文献列表 因此,我试图抓住div“references body”下的所有“li”元素 如您所见,在某些情况下,列表中包含引用的旧版本或其他版本。我不想买那些 我正在使用下面的代码-但它似乎不起作用 有什么帮助吗 //div[@id="references-body"]//li[not(ancestor::div[@class="otherversion" or @class="publishedas"]) and (@class="downfree" or @

我正在尝试从以下页面获取: 参考文献列表

因此,我试图抓住div“references body”下的所有“li”元素

如您所见,在某些情况下,列表中包含引用的旧版本或其他版本。我不想买那些

我正在使用下面的代码-但它似乎不起作用 有什么帮助吗

//div[@id="references-body"]//li[not(ancestor::div[@class="otherversion" or 
@class="publishedas"]) and (@class="downfree" or @class="downgate" or 
@class="downnone")]

谢谢

您可以显式地将所需元素定位为

//div[@id="references-body"]/ol/li

这将只返回49个主
li
元素,不包括嵌套的
其他版本
和作为发布的
li
元素

您可以根据需要显式定位所需元素

//div[@id="references-body"]/ol/li

这将只返回49个主
li
元素,不包括嵌套的
其他版本
和作为
li
元素发布的
元素

我不确定原因,但这只给出了前3行。我在r中的rvest包中使用了这个xpath,因此它可能与此有关。。但我不确定。我不确定为什么,但这只给了我前3行。我在r中的rvest包中使用了这个xpath,因此它可能与此有关。。但我不确定。