node.js - 如何处理 puppeteer 中的弹出窗口

标签 node.js google-chrome-headless puppeteer

如何处理弹出窗口并访问弹出窗口以对其进行一些操作。

const puppeteer = require('puppeteer');

async function run() {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto('https://example.com');
    await page.click(Launchpopup);
}

最佳答案

所以我要做的就是在他们的主页上登录 facebook,然后导航到我想去的页面,我点击了使用 facebook 登录按钮的位置。然后下面的代码将在弹出窗口发生后单击使用 facebook 按钮登录。

await page.click('[service_name="facebook"]')
const newPagePromise = new Promise(x => browser.once('targetcreated', target => x(target.page()))); 
const popup = await newPagePromise;
await popup.waitForSelector('[name="__CONFIRM__"]')
const confirm = await popup.$('[name="__CONFIRM__"]')
await popup.click('[name="__CONFIRM__"]')
await page.waitFor(2000);
await page.goto('your login page'); $

关于node.js - 如何处理 puppeteer 中的弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46669788/

相关文章:

javascript - 无法使用 puppeteer 截取屏幕截图,它会转储一个空图像文件

javascript - VSCODE : No debug adapter, 无法发送 'variables' "

node.js - 如何在 bash 中抑制 npm WARN 弃用消息

javascript - 长轮询服务器原理(客户端认证)

node.js - 查询字符串中有多个参数的 Express + Node 路由

javascript - 无法使用 Puppeteer 在 HTML 元素上附加新的单击事件处理程序

google-cloud-functions - page.goto() 上的云函数超时

javascript - socket.io 和 Node 回调函数不起作用

automated-tests - 如何为 headless 可移植 Chrome 设置 --no-sandbox

javascript - 使用 Puppeteer 下载文件时 Chrome 下载错误