问题: 如果我的文件下载成功,如何使用casperjs或javascript(之后)检查?
我抓了一些博客并下载了图片,遗憾的是它并不总是下载图片。
casperjs脚本从我的计算机本地运行。我将下载(或失败的下载)文件的所有文件名保存到json中。如果执行成功,函数本身不会提供任何信息: http://casperjs.readthedocs.org/en/latest/modules/casper.html#download
失败的方法1:
function UrlExists(url)
{
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status!=404;
}
How do I check if file exists in jQuery or JavaScript? 但我想这只适用于服务器,它会引发错误:
NETWORK_ERR: XMLHttpRequest Exception 101: A network error occured in synchronous requests.
How to check if file exists locally in JavaScript?
FAILED APPROACH 2:
我发现以下方法在casperjs中不起作用,或者至少它没有显示任何内容。
function checkImage (src) {
console.log("check");
var img = new Image();
img.onload = function(){console.log("yes");};
img.onerror = function(){console.log("no");};
img. src = src;
}
FAILED APPROACH 3:
最后一种方法让我虚假,我猜这也是因为javascript在沙盒中:
function ImageExist(url)
{
var img = new Image();
img.src = '/Users/MasterG/Desktop/PROJEKTE/paleo-crawler/' + site + '/'+url;
console.log(img.src," - " ,img.height);
return img.height != 0;
}