幻影 - 处理网络错误
PhantomJS - Handling Network Error
当我在调试模式下运行PhantomJS脚本时,有时会看到此错误:[调试]网络 - 资源请求错误:5("操作已取消")。
当我运行脚本 1000 次时,出现此错误 1 或 2 次。我想在不以调试模式运行脚本的情况下捕获它,但我不知道如何!
我尝试了几个错误处理程序:
phantom.onError = function(msg, trace) {
console.log("PhantomJS onError'n");
};
page.onError = function(msg, trace) {
console.log("PhantomJS onError'n");
};
page.onResourceError = function(resourceError) {
console.log("PhantomJS onResourceError'n");
};
page.onResourceTimeout = function(req) {
console.error('PhantomJS onResourceTimeout'n');
};
page.onLoadFinished = function(status) {
if (status != 'success') {
console.error('PhantomJS onLoadFinished Error'n');
}
};
你对我有什么想法吗?如何捕获此错误?我在Unix上使用PhantomJS 1.9.7 x64。
谢谢
这个问题可能很旧,但我今天遇到了同样的麻烦,并找到了解决方法:
var numberOfRequests = 0;
page.onResourceReceived = function(response) {
if (numberOfRequests === 0) {
// if status of first resource is NULL there was a network error
if (response.status === null) {
console.log('[ERROR] Loading page failed: Network error');
phantom.exit();
}
}
numberOfRequests++;
};
使用 phantomJS 2.1 进行测试。希望这对其他人有所帮助。
相关文章:
- 在fabric.js中以PNG格式下载Canvas,给出网络错误
- 如何在使用XMLHttpRequest时向用户显示实际的网络错误
- getJSON:网络错误:500 内部服务器错误
- 未捕获的引用错误:添加网络代码时未定义 $
- Cordova网络视图超时错误
- 网络应用程序中绘制的谷歌柱状图错误
- socket.io+express网络错误:404
- xmlhttprequest:网络错误0x800c0019,访问此资源所需的安全证书无效.WINJS
- 电话差距/网络数据库错误代码说明
- 如何从节点-网络工作者-线程向控制台发送错误
- 网络辅助角色和引用错误
- 节点网络套件引用错误
- 如何解决“网络错误:404未找到 - http://localhost:50765/Scripts/jquery-1.5
- 桌面网络工具包(safari / chrome)中具有绝对定位元素的奇怪渲染错误
- 网络视图控制台显示安卓< 4.0 上的错误 |(JVectorMap)
- 是否有一种全局方法来捕获 javascript 中的网络错误
- 使用量角器网络驱动程序进行 Safari 历史记录导航的未知错误
- 幻影 - 处理网络错误
- 条纹付款问题 - 网络错误,您尚未被扣款
- 类型错误:网络未定义