日付範囲で記入されたログをダウンロードしようとしていますので、希望の日付でフォームに記入してから、「通話履歴のエクスポート」ボタンをクリックすると、定期的にCSVファイルのダウンロードが自動的に開始されますブラウザ。CasperJSでボタンをクリックして起動したファイルを保存するにはどうすればよいですか?
キャスパーを使用して同じボタンを「クリック」すると自動的にトリガーされるファイルを保存するにはどうすればよいですか?
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モジュールと同等のものか、それとも前日の日付を取得し、それに応じて入力するVarとしてCasperを使用することができますか?すなわち今日の日付は08/31/2016です。前日の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();
});
});
'page.onFileDownload'コールバックは、PhantomJSの非公式フォークでのみ利用できますが、これを行うには賢い方法です。 –