我正在研究是否可以使用 Chrome 扩展程序来自动浏览和导航(有条件地)。我希望扩展程序可以加载远程页面(在后台)并注入 javascript 来评估可点击链接并点击(通过调用 click 方法)适当的(由一些 javascript 逻辑评估)链接,然后对结果重复过程页。
我的 javascript 能力不是问题 - 但我正在努力辨别(或不) chrome 扩展是否可以在后面加载页面并将脚本注入其中(使 DOM 可访问)。
如果有人能证实(或否认)这样做的能力,我会很高兴——如果是这样,我会在接下来的研究方向上提供一些有用的指示。
@Rob W - 实验功能似乎完全符合要求。但我的第一次测试似乎表明这些功能仍然非常实验性......即。回调没有返回任何对象:
背景.html
function getAllosTabs(osTabs){
var x = osTabs;
alert(x.length); // error: osTabs is undefined
}
function createOffScreenTabCallback(offscreenTab){
document.write("offscreen tab created");
chrome.experimental.offscreenTabs.getAll(getAllosTabs);
alert(offscreenTab); // error: offscreenTab is undefined
}
var ostab = chrome.experimental.offscreenTabs.create({"url":"http://www.google.com"}, createOffScreenTabCallback)
alert(ostab); // error: ostab is undefined
对 github 上的 chromium 源代码的进一步挖掘揭示了从后台创建 offscreenTab 的限制:
请注意,您不能从背景页面创建屏幕外选项卡,因为它们没有关联的 WebContents。屏幕外标签的生命周期与其创建标签相关联,因此需要可见标签作为父标签有助于防止屏幕外标签泄漏。
到目前为止,我似乎不太可能创建一个在后台(自动和有条件地)浏览的扩展,但我仍然会继续尝试——也许从弹出窗口中的脚本创建它可能会起作用。它不会在计算机启动时自动运行,但会在浏览器打开并且用户单击浏览器操作时运行。
任何进一步的建议都非常受欢迎。