如何在Puppeteer和NodeJS中把提示框的消息分配给一个变量?

let a = "";
(async () => {
 const browser = await puppeteer.launch()
 const page = await browser.newPage()
 await page.goto('https://www.google.com/')
 page.on('dialog', async dialog => {
 **a = dialog.message();**
  await dialog.dismiss()
 })
 await page.evaluate(() => alert('This message is inside an alert box'))
 **console.log(a);**
 await browser.close()
})()

我想把对话框的消息分配给一个变量,并在page.on函数之外访问它。

解决方案:

你可以使用一个承诺,它将在事件中被解析,然后等待这个承诺。

const browser = await puppeteer.launch({
    headless: false,
    defaultViewport: null
});
let resolve;
var dialogPromise = new Promise(x => resolve = x);
const Page = await browser.newPage();
await Page.goto('https://www.google.com/');
page.on('dialog', async dialog => {
  resolve(dialog.message());
  await dialog.dismiss()
 })
var output = await dialogPromise;
console.log(output);

给TA打赏
共{{data.count}}人
人已打赏
解决方案

如何从flutter访问设备应用

2022-4-20 22:00:11

解决方案

用python从邮件中下载附件

2022-4-20 22:00:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索