如何将无头从假变为真?[傀儡师]

fak*_*ker 5 puppeteer

如何将无头从假变为真?如何隐藏浏览器?

const browser = await puppeteer.launch({headless: false})
const page = await browser.newPage();
await page.goto(LOGIN_URL, { "waitUntil": "networkidle2" });
await page.evaluate((a) => {
   $('input[name="username"]').val(a.username)
   $('input[name="password"]').val(a.password)
}, {username, password})
 // I want to hide the browser
 // do something
await browser.close();
Run Code Online (Sandbox Code Playgroud)

Vav*_*off 7

在运行时无法在 puppeteer 中隐藏浏览器——这是因为 Chromium 可以无头或非无头启动。

但是在一个脚本中,您可以先运行非无头浏览器,关闭它,然后再打开无头:

let browser = await puppeteer.launch({headless : false});
// 1. Enter requisites, log in to a site
// 2. Save cookies
await browser.close();
browser = await puppeteer.launch({headless : true});
// 3. Load cookies
// 4. Go and do headless stuff
Run Code Online (Sandbox Code Playgroud)

  • 相关的puppeteer方法:[page.cookies()](https://github.com/GoogleChrome/puppeteer/blob/v1.19.0/docs/api.md#pagecookiesurls)和[page.setCookie(...cookies)] (https://github.com/GoogleChrome/puppeteer/blob/v1.19.0/docs/api.md#pagesetcookiecookies) (3认同)