作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想打开一个 url 并收集其 httpcode 和错误,但我无法在 goto().catch 中获取其 httpcode。
let result = {};
page.goto(url)
.then(res => {
result['http-code'] = res.status();
})
.catch(err => {
result['http-code'] = '?'; // TODO: get http-code in goto().catch
result['page-error'] = err + '';
})
.then(() => {
res.json(result);
});
最佳答案
这是不可能的。
TL;DR
因为page.goto当远程服务器返回任何有效的 HTTP 状态代码时,该方法不会抛出错误,包括 404“未找到”和 500“内部服务器错误”。可以通过调用response.status()来检索此类响应的状态代码;
page.goto如果出现以下情况,将会抛出错误:
NOTE page.goto either throws an error or returns a main resource response. The only exceptions are navigation to about:blank or navigation to the same URL with a different hash, which would succeed and return null.
关于Puppeteer:如何在page.goto().catch中获取httpcode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58722044/
我是一名优秀的程序员,十分优秀!