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()
添加回答
舉報