我正在尝试下载由日期范围填充的日志,因此我填写了包含所需日期的表单,然后单击“#34;导出呼叫日志”#34;按钮它只是在常规浏览器中自动触发CSV文件下载。
如何保存在点击'时应自动触发的文件?使用Casper的相同按钮?
casper.then(function(){
console.log("Filling out form and getting CSV");
this.evaluate(function(){
document.getElementsByName("startdate")[0].value="08/30/2016";
document.getElementsByName("enddate")[0].value="08/30/2016";
document.getElementsByName("s1")[0].click();
});
});
按钮HTML如下:
<td><input type="submit" name="s1" value="Export Call Logs"></td>
另外,作为附注,显然我不想手动输入日期,有点在某种程度上打败程序的点,我对Pyhon最熟悉,是他们的某种等同于DateTime模块或者我可以使用Casper获取前几天的日期并作为Var存储相应的输入?即今天的日期是2016年8月31日我想输入前一天,08/30/2016。
编辑: 尝试实施以下评论的example。
casper.then(function(){
console.log("Filling out form and getting CSV");
this.page.onFileDownload = function(status){console.log("onFileDownload(' + status + ')");
return "downloadedfile.csv"; };
this.evaluate(function(){
document.getElementsByName("startdate")[0].value="08/30/2016";
document.getElementsByName("enddate")[0].value="08/30/2016";
document.getElementsByName("s1")[0].click();
});
});