我想自动登录和从PowerBI网站获取文本数据使用傀儡。我能够成功地自动登录,但是,代码在page.evaluate中无法工作(它包含从网站获取文本数据的代码),这是代码。
col_headers=[]
await page2.evaluate(() => {
var elements = document.getElementsByClassName("columnHeaders");
for (var i = 0; i < elements.length; i++) {
col_headers = elements[i].innerText;
}});
console.log(col_headers)
注意:
1)我尝试将console.log添加到函数中,以检查控件是否在其中。但是,也没有被执行。
2)如果我在page.evaluate,中不包含代码,则代码会引发"document“错误。
发布于 2020-10-14 04:25:03
col_headers
是在Node.js (puppeteer)上下文中声明的,而填充变量的代码是在浏览器内部的page.evaluate()
回调中执行的,因此数据被记录在浏览器控制台(DevTools)中。试试这个:
const col_headers = await page2.evaluate(() => {
const headers = [];
const elements = document.getElementsByClassName("columnHeaders");
for (let i = 0; i < elements.length; i++) {
headers.push(elements[i].innerText);
}
return headers;
});
console.log(col_headers)
https://stackoverflow.com/questions/64339202
复制相似问题