gpt4 book ai didi

javascript - 获取选项卡的内容并将其写入文件

转载 作者:行者123 更新时间:2023-11-28 09:07:28 24 4
gpt4 key购买 nike

我正在尝试提取经过身份验证的网站的内容。

我尝试使用最新的 Firefox Add-on SDK 来制作扩展来执行此操作。

到目前为止,我已经学会了如何打开选项卡。

var Widget = require("widget").Widget;
var tabs = require('tabs');
exports.main = function() {
new Widget({
label: "My Mozilla Widget",
contentURL: "http://www.mozilla.org/favicon.ico",

onClick: function(event) {
tabs.open("google.com")
}
});
};

我想获取刚刚打开的选项卡的内容并将其保存到本地文件。谢谢。

最佳答案

您必须附加一个内容脚本,以便在加载完成后获取页面的 DOM HTML。

我不确定何时您认为页面已完全加载,因为“内容加载”听起来像是加载页面部分内容的 AJAX 请求。我假设以某种方式,当页面加载时,您可以在页面上下文中触发函数 pageLoaded 。您可以通过多种方式触发该函数:监听 DOM 更改、监视 AJAX 请求……

无论哪种方式,您都可以将内容脚本附加到页面:

const { data } = require('sdk/self');
// snip
let tab = tabs.open('google.com');
tab.on('ready', function(tab) {
let worker = tab.attach({
contentScriptFile: data.url('post-page-content.js')
});
worker.port.on('page-content', function(content) {
console.log(content);
// Save to a file using sdk/io/file or something
});
});

当页面完全加载时,您的内容脚本 post-page-content.js 应向您的附加脚本发送一条包含页面内容的消息:

function pageLoaded() {
self.port.emit('page-content', document.documentElement.outerHTML);
}
// TODO Attach pageLoaded as an event listener to something

关于javascript - 获取选项卡的内容并将其写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16810419/

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