多进程 Firefox 不支持访问内容 window

Accessing content window not supported in multiprocess Firefox

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

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

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

Error: Accessing content window is not supported in multiprocess Firefox, line 208 (Error code: -991)

我应该担心吗?是否禁止使用 textContent ? 问题是 lager_col2[0] 有时恰好是 link,我只想要 link 中的文本,而不是标签和所有内容。所以我自然而然地选择了 textContent。我该如何解决这个问题?

此外,当我尝试使用 window.document.getElementsByClassName 访问某些节点时,我是否会给自己带来麻烦? 使用 iMACROS TAG POS/XPATH 更好吗?

在类似的情况下,我可以建议您使用我的旧解决方法之一和附加功能以获得一些 window 内容:

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。它对我有帮助。

奇怪的是,我得到的错误与您的代码行号完全相同。显然我的 JavaScript 行号与你的不匹配。起初我以为问题是由我最近升级到 Firefox 48 引起的。但是当我将我的 macros 移动到另一台 运行 Firefox 47 的机器时,我得到了与你完全相同的错误。

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

imacro 不支持访问 dom 元素请返回到 imacro 9 之前的旧版本。

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

求解:

第 1 步。删除附加宏(如果已安装)。

第 2 步。卸载 Firefox。

第 3 步。按照此 link 下载 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 or this link https://support.mozilla.org/en-US/kb/install-older-version-of-firefox

第 4 步。安装 Firefox 47.0.1 并在启动 Firefox 后访问“about:support”。

第 5 步。您可以看到按钮 "Refresh Firefox" 单击它并重新启动 Firefox。

第 6 步。按照此 link 下载 iMacros 8.9.7 版。 https://addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox/versions/