1 回答
TA贡献1966条经验 获得超4个赞
Chrome中的开发人员工具将无法挂钩这些字段,因为它们不是DOM的一部分;它们是由 Chromium 本身在服务器上指示需要通过 HTTP 基本身份验证进行身份验证时本地生成的字段。
幸运的是,驻留在 DOM 和它生成的 Chromium 实例的本机层之上,并公开了 page.authenticate()
方法,用于处理此类情况。在导航到要求提供基本身份验证凭据以设置要使用的用户名/密码对的页面之前,请先进行呼叫:puppeteer
page.authenticate()
const puppeteer = require('puppeteer');
(async () => {
let url = 'http://intranet...../'
let browser = await puppeteer.launch()
let page = await browser.newPage()
await page.authenticate({'username':'YOUR_BASIC_AUTH_USERNAME', 'password': 'YOUR_BASIC_AUTH_PASSWORD'});
await page.goto(url, {waitUntil: 'networkidle2' })
await page.pdf({
format:"A4",
path:'./Speiseplan.pdf',
displayHeaderFooter: false,
printBackground:true
})
process.exit()
})();
索尼AK在 DEV.to 上有一篇简短但甜蜜的文章,其中包含示例代码来说明其用法。page.authenticate()
添加回答
举报