使用 Puppeteer 回复 Chrome 的通知

ele*_*ena 3 javascript node.js puppeteer

有没有办法使用 puppeteer 回复 Chrome 的通知?我试过禁用通知(我猜它会默认选择是?),但它没有帮助:

const browser = await puppeteer.launch({headless: false, slowMo: 250, args: ["--disable-notifications"]});
Run Code Online (Sandbox Code Playgroud)

小智 9

你只需要传递参数

例子:

args: [
        "--disable-notifications"
      ]
Run Code Online (Sandbox Code Playgroud)


小智 7

是的,您可以像@splintor 所说的那样覆盖通知。例如,这是在登录 facebook 时禁用允许通知弹出窗口的代码。

let crawl = async function(){

    let browser = await puppeteer.launch({ headless:false });
    const context = browser.defaultBrowserContext();
                              //        URL                  An array of permissions
    context.overridePermissions("https://www.facebook.com", ["geolocation", "notifications"]);
    let page = await browser.newPage();
    await page.goto("https://www.facebook.com");

    await page.type("#email", process.argv[2]);
    await page.type("#pass", process.argv[3]);
    await page.click("#u_0_2");
    await page.waitFor(1000);
    await page.waitForSelector("#pagelet_composer");
    let content2 = await page.$$("#pagelet_composer");
    console.log(content2); // .$$ An array containing elementHandles .$ would return 1 elementHandle

}

crawl();
Run Code Online (Sandbox Code Playgroud)


spl*_*tor 3

检查ovverridePermissions,它是在 Puppeteer v1.8.0 中添加的。