从“ domcontentloaded”事件获取页面状态代码

时间:2020-07-26 11:03:22

标签: node.js puppeteer http-status-codes

我目前正在尝试激发伪娘中的domcontentloaded事件后获取响应代码(例如200、404、403,...)。我无法使用来自.goto(...)的响应,因为我的应用程序在运行时通过单击链接等进行了多次重定向。是否有任何方法仅使用页面对象来获取页面的状态代码?

1 个答案:

答案 0 :(得分:0)

您可以使用page.waitForNavigation代替page.goto,因为它们都返回一个可解决主要资源响应的promise。它还具有waitUntil选项,因此您可以检查domcontentloaded事件。使用waitForNavigation

在进行多次重定向的情况下,导航将以最后一次重定向的响应来解决。

您可以像这样使用它:

await page.goto('https://www.google.com', { waitUntil: 'domcontentloaded' })

// navigation
await page.waitForSelector('input[name="btnI"]')
await page.evaluate(() => document.querySelector('input[name="btnI"]').click())

// get response
const response = await page.waitForNavigation()
console.log(response.status())