gpt4 book ai didi

javascript - XPathResult 方法和属性不起作用 greasemonkey 用户脚本

转载 作者:行者123 更新时间:2023-11-30 17:51:44 24 4
gpt4 key购买 nike

我已经为Firefox安装了greasemonkey插件(我的FF版本是21.0)。我写了一个名为 mahesh.user.js 的用户脚本

var links = document.evaluate("//span", document.body, null, 6, null);

现在当我打印以下内容时

console.log(links);

Firebug 调试器写出 XPathResult 对象。但是我无法使用任何 XPathResult 属性,例如 snapshotLength 或方法,例如 iterateNext() 或快照项目()。如果我这样做,控制台上不会打印任何内容。

 var thisLink = links.iterateNext();

console.log("I am here -- 111: " + thisLink);

i = 0;

while(thisLink) {
console.log("thisLink #" + (++i));
}

除了第一个“我在这里”之外,控制台上没有打印任何内容。

需要帮助请。请指教。

问候马赫什。

最佳答案

如果您使用结果类型 6,那么您将无法迭代,但您应该能够按如下方式访问项目:

for (var i = 0, l = links.snapshotLength; i < l; i++)
{
var span = links.snapshotItem(i);
}

如果该循环没有产生任何结果,那么可能是因为 XPath 没有找到任何节点。原因可能是输入文档中的命名空间。

另一方面,如果您只想查找所有 span 元素,那么执行 document.getElementsByTagName('span') 就足够了,不需要 XPath。

至于您的 document.evaluate("//span", document.body, null, 6, null); 调用,如果您使第二项成为不同于文档本身的节点,你的路径应该是相对的,如 document.evaluate(".//span", document.body, null, 6, null);,否则整个文档都会被搜索。

关于javascript - XPathResult 方法和属性不起作用 greasemonkey 用户脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com