访问多进程Firefox中不支持的内容窗口

Accessing content window not supported in multiprocess Firefox

本文关键字:窗口 不支持 多进程 Firefox 访问      更新时间:2023-09-26

我使用javascript和imacros从网站收集一些数据,我有这行代码:

final_macro += "ADD !EXTRACT " + '"' + lager_col2[0].textContent + '"' + "'n";

当我在浏览器中运行js时,我得到了这个错误:

错误:在多进程Firefox中不支持访问内容窗口,第208行(错误代码:-991)

我应该担心吗?禁止使用textContent吗?问题是,lager_col2[0]有时恰好是一个链接,我只希望链接内的文本,而不是标签和一切。所以我很自然地选择了textContent。我怎样才能避开这个问题呢?

另外,当我试图使用window.document.getElementsByClassName访问某些节点时,我是否会设置自己的麻烦?使用iMACROS TAG POS/XPATH是否更好?

奇怪的是,我得到了完全相同的错误,你甚至到代码行号。显然,我的JavaScript行号与你的不匹配。一开始我以为问题是由于我最近升级到Firefox 48造成的。但是当我把我的imacros移到另一台运行firefox47的机器上时,我遇到了和你完全一样的错误。

更新:我的解决方法是将Firefox iMacros扩展从9.0.3降级到8.9.7。现在,我的宏再次与Firefox版本47和iMacros版本8.9.7一起工作。

在类似的情况下,我可以建议您使用我的旧方法之一,即使用附加函数来获取一些窗口内容:

var someContent = getSomeContent("document.getElementsByClassName('someclass')[0].textContent");
alert(someContent);
function getSomeContent(selector) {
    var ret = iimPlayCode("URL GOTO=javascript:alert(" + selector + ");");
    if (ret < 0)
        return iimGetErrorText().match(/Dialog message: "(['s'S]*)",/)[1];
}
这个想法似乎很有帮助。但是我还没有在多进程Firefox中测试过这个脚本。

重新安装插件iMacros。

imacro不支持访问dom元素,请使用旧版本的imacro

Firefox> 47.0.1和iMacros> 8.9.7不支持(因为Firefox架构改变)

解决:

步骤1。如果安装了imacros插件,请删除。

步骤2。卸载Firefox。

步骤3。点击此链接下载Firefox版本Firefox 47.0.1。https://download-installer.cdn.mozilla.net/pub/firefox/releases/47.0.1/win32/en-US/Firefox%20Setup%2047.0.1.exe或此链接https://support.mozilla.org/en-US/kb/install-older-version-of-firefox

步骤4。安装Firefox 47.0.1,启动Firefox后访问"about:support"。

第5步。你可以看到"刷新Firefox"按钮,点击它并重新启动Firefox。

步骤6。点击此链接下载iMacros 8.9.7版本。https://addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox/versions/