Javascript 如何重新加载并等待元素出现?
我试着搜索这个答案,但在互联网上似乎没有答案。我要做的是使用NodeJS重新加载页面,直到它找到包含我想要的查询的元素。如果有帮助的话,我将在节目的其他部分使用木偶演员 好的,我使用了两个答案中的函数,并得出了这个,可能是未优化的代码:Javascript 如何重新加载并等待元素出现?,javascript,node.js,web,puppeteer,Javascript,Node.js,Web,Puppeteer,我试着搜索这个答案,但在互联网上似乎没有答案。我要做的是使用NodeJS重新加载页面,直到它找到包含我想要的查询的元素。如果有帮助的话,我将在节目的其他部分使用木偶演员 好的,我使用了两个答案中的函数,并得出了这个,可能是未优化的代码: const puppeteer = require("puppeteer"); (async () => { try { const browser = await puppeteer.launch(); cons
const puppeteer = require("puppeteer");
(async () => {
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto("http://127.0.0.1:5500/main.html");
await page.waitForSelector("#buy-button");
console.log("worked");
} catch (err) {
console.log(`ERROR: ${err}`);
}
})();
但我不知道如何重新加载页面,并一直重新加载,直到我想要的id出现。例如,不断重新加载youtube,直到你想要的视频出现为止(这是一个不实际的例子,但我认为它能说明问题)。你可以使用“Waitunt:”networkidle2“来确保页面加载完毕。显然,更改url,除非你实际使用的是evil.com
const puppeteer = require("puppeteer"); // include library
(async () =>{
const browser = await puppeteer.launch(); // run browser
const page = await browser.newPage(); // create new tab
await page.goto(
`http://www.evil.com`,
{
waitUntil: "networkidle2",
}
);
// do your stuff here
await browser.close();
})();
好的,我更新了问题,希望你能帮忙
const puppeteer = require("puppeteer"); // include library
(async () =>{
const browser = await puppeteer.launch(); // run browser
const page = await browser.newPage(); // create new tab
await page.goto(
`http://www.evil.com`,
{
waitUntil: "networkidle2",
}
);
// do your stuff here
await browser.close();
})();