学习Javascript(木偶演员)
我正在尝试学习在web上使用javascript和Puppeter处理一些请求 所以我最终从一个随机网站上得到了标签a的值 但我不知道如何将这段代码放在“for”中,以获得10个值(10个标签一个序列) 这就是我如何获得价值(其工作原理): 我试图如何处理for(不起作用“ReferenceError:i未定义”): 您需要在学习Javascript(木偶演员),javascript,puppeteer,Javascript,Puppeteer,我正在尝试学习在web上使用javascript和Puppeter处理一些请求 所以我最终从一个随机网站上得到了标签a的值 但我不知道如何将这段代码放在“for”中,以获得10个值(10个标签一个序列) 这就是我如何获得价值(其工作原理): 我试图如何处理for(不起作用“ReferenceError:i未定义”): 您需要在页面中循环。评估(不同的上下文),即使如此,您也可以更轻松地使用: 我明白你的问题了 您正在使用不带异步函数的等待请求 请参阅本文档中的更多详细信息: 在控制台记录变量“
页面中循环。评估(不同的上下文),即使如此,您也可以更轻松地使用:
我明白你的问题了
您正在使用不带异步函数的等待请求
请参阅本文档中的更多详细信息:
在控制台记录变量“resultado”的情况下,等待尚未解决
const resultado = await page.evaluate(() => {
return document.querySelectorAll('.ui.divided.list > a')[i].textContent;
});
console.log(`O valor é ${resultado}`);
实现一个执行该调用的异步函数可能会解决您的问题谢谢,它现在可以工作了。我可以肯定的是,搜索更多关于“map”的信息。现在是完美的=>返回Array.from(elements).slice(0,9).map((el)=>el.textContent);它在一个异步函数中,但现在可以与AKX post一起使用。谢谢
for (var i = 0; i < 9; i++) {
const resultado = await page.evaluate(() => {
return document.querySelectorAll('.ui.divided.list > a')[i].textContent;
});
console.log(`O valor é ${resultado}`);
}
const resultado = await page.evaluate(() => {
return document.querySelectorAll('.ui.divided.list > a').textContent;
});
console.log(`O valor é ${resultado[0]}`);
const resultado0 = await page.evaluate(() => {
// Get the elements as a DOM node list
const elements = document.querySelectorAll(".ui.divided.list > a");
// Convert to an array we can map over, then map over to get the text content.
return Array.from(elements).map((el) => el.textContent);
});
console.log(`O valor é ${resultado0}`);
const resultado = await page.evaluate(() => {
return document.querySelectorAll('.ui.divided.list > a')[i].textContent;
});
console.log(`O valor é ${resultado}`);