是否有一种方法,我可以从网页以外的DOM在firefox扩展链接?



我试图从其他页面获得链接,但由于它们没有加载,我不能这样做。

var urlsFound = [];
var url = "https://www.youtube.com";
for(var i = url.links.length; i --> 0;)
{
urls.push(url.links[i].href);
}
urlsFound.forEach((item, index) =>
{
console.log(`${index} : ${item}`);
});

当然,上面的代码不会工作,但它只是为了更好地说明我想要完成的。如何从其他页面获得链接,而无需将其加载到DOM中,同时使其在firefox扩展中工作?我愿意使用任何技术,只要它能在firefox扩展中工作。

您需要使用fetch或axios之类的东西发出http请求,然后使用cheerio解析html并获取链接。下面是一个例子。

您可以在这里看到如何使用axioscheerio:

https://www.npmjs.com/package/axios

https://cheerio.js.org/

const axios = require("axios").default; // can use fetch etc.
const cheerio = require("cheerio");
function getLinks(url) {
return new Promise((resolve, reject) => {
axios.get(url).then(res => res.data).then(HTML => {
const $ = cheerio.load(HTML);
const links = $("a").toArray();
resolve(links);
}).catch(err => reject(err));
});
}