Я пытаюсь загрузить журнал, заполненный диапазоном дат, поэтому я заполняю форму с датами, которые я хочу, а затем, когда вы нажимаете кнопку «Экспорт журналов вызовов», она просто автоматически запускает загрузку файла CSV в обычном браузер.Как сохранить файл, вызванный нажатием кнопки в CasperJS?
Как сохранить этот файл, который должен быть автоматически активирован при нажатии на эту кнопку с помощью 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 для ввода соответственно? i.e todays date is 08/31/2016 Я хотел бы ввести предыдущий день, 30.08.2016.
EDIT: Прокомментировал нижеследующее описание 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();
});
});
Обратный вызов 'page.onFileDownload' доступен только в неофициальной версии PhantomJS, но это единственный разумный способ сделать это. –