考虑以下标记:
<div>
<span>A</span>
B
</div>我想使用翻译器框架来获取"B“。我尝试了以下所有都失败了:
date : FW.Xpath("//div/text()") // date -> null
date : FW.Xpath("//div/").text() // date -> AB我怎么才能只获取'B'?
发布于 2012-08-16 14:38:58
尝试:
date : FW.Xpath("//div/span/following-sibling::text()")或者:
date : FW.Xpath("//div/text()[last()]")最近在Zotero论坛上讨论的问题是,框架中的.text()调用返回第一个匹配的文本节点,因此问题中的第一个表达式在标记之前给出了空的文本节点。
这里正确的解决方案将取决于您想要的灵活性--如果您需要跨度之后的下一个文本节点,通常情况下,您需要第一个选项。如果你想要在外部div结束之前的最后一个,你想要第二个。
(对于其他对此感兴趣的人,请使用Framework for Zotero site translators,这是为Zotero研究管理系统编写网站爬行器的几种方法之一。)
https://stackoverflow.com/questions/11921338
复制相似问题