首页 > 解决方案 > Puppeteer 如何直接转到所需的页面

问题描述

const puppeteer = require('puppeteer');

(async () => {

  // 1. Launch the browser
    const browser = await puppeteer.launch({   
          "args": [
              '--remote-debugging-port=9222'
          ],
          "headless": false,
        });

    // Open a new page
    const page = await browser.newPage();
    
    // Set UserAgent to Firefox
    await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36');

    await page.setBypassCSP(true);

    // Navigate to URL
    await page.goto('https://www.google.com');

当我运行上面的脚本时,它会打开一个选项卡about:blank,然后打开另一个选项卡google.com

在此处输入图像描述

我怎样才能只打开谷歌页面?

或者让它google pageabout:blank page.

标签: javascriptgoogle-chromegoogle-chrome-devtoolspuppeteer

解决方案


当您调用puppeteer.launch它时,它会自动打开一个页面。接下来,当您调用 时browser.newPage,这将为您提供另一个页面(选项卡)。

如果您不需要额外的页面,您可以使用作为puppeteer.launch. 就像是:

// 1. Launch the browser
const browser = await puppeteer.launch({   
      "args": [
          '--remote-debugging-port=9222'
      ],
      "headless": false,
    });

// 2. Get the default page
const pages = await browser.pages();
const page = pages[0];

//3. Use this page object subsequently
await page.goto('https://www.google.com');

推荐阅读