我在Firefox扩展程序中使用它,无法让它工作。
var allLinks = document.evaluate(
'//a[@href]',
window.document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
window.alert(allLinks);
此警告[object XPathResult]
。但是,以下内容始终返回0
。 (页面上肯定有链接)。
window.alert(allLinks.snapshotLength);
答案 0 :(得分:1)
如果它是firefox特定的,我假设你只使用新版本..你不能使用querySelectorAll吗?
document.querySelectorAll('a[href]')
另外 - 你是在DOM完全加载的时候做的吗?将其绑定到DOMContentLoaded
或其他内容。
document.addEventListener('DOMContentLoaded', fn, false);
编辑:您的xpath适合我。它是在现有的加载页面的控制台中完成的。确定你在任何事情存在之前都要查询。
答案 1 :(得分:0)
答案 2 :(得分:0)
这很有用。
var allLinks = top.document.getElementById("content").selectedBrowser.contentDocument.evaluate(
treeView.model[0].xpath,
top.document.getElementById("content").selectedBrowser.contentDocument,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);