Zotero翻译框架问题

时间:2012-08-12 10:03:09

标签: xpath firefox-addon

考虑以下标记:

<div>
 <span>A</span>
 B
</div>

我希望使用翻译框架获取“B”。 我尝试了以下所有失败:

 date : FW.Xpath("//div/text()") // date ->  null 
 date : FW.Xpath("//div/").text() // date -> AB

如何才能获取'B'?

1 个答案:

答案 0 :(得分:2)

尝试:

date : FW.Xpath("//div/span/following-sibling::text()")

或者:

date : FW.Xpath("//div/text()[last()]")

最近在Zotero论坛上讨论的问题是,Framework中的.text()调用返回匹配的第一个文本节点,因此问题中的第一个表达式会在标记之前给出空文本节点。

这里正确的解决方案取决于您希望拥有的灵活性 - 如果您需要跨度后的下一个文本节点,一般来说,您需要第一个选项。如果你想要在外部div结束之前的最后一个,你想要第二个。

(对于有兴趣研究这个问题的其他人来说,这是使用Framework for Zotero site translators,这是为Zotero研究管理系统编写网站抓取工具的几种方法之一。)