Web サイトの xls ファイルをダウンロードしようとしています。リンクをクリックしてファイルをダウンロードすると、JavaScript の確認ボックスが表示されます。以下のように処理します
ConfirmHandler okHandler = new ConfirmHandler(){
public boolean handleConfirm(Page page, String message) {
return true;
}
};
webClient.setConfirmHandler(okHandler);
ファイルをダウンロードするリンクがあります。
<a href="./my_file.php?mode=xls&w=d2hlcmUgc2VsbElkPSd3b3JsZGNvbScgYW5kIHN0YXR1cz0nV0FJVERFTEknIGFuZCBkYXRlIDw9IC0xMzQ4MTUzMjAwICBhbmQgZGF0ZSA%2BPSAtMTM1MDgzMTU5OSA%3D" target="actionFrame" onclick="return confirm('Do you want do download XLS file?')"><u>Download</u></a>
を使用してリンクをクリックします
HTMLPage x = webClient.getPage("http://working.com/download");
HtmlAnchor anchor = (HtmlAnchor) x.getFirstByXPath("//a[@target='actionFrame']");
anchor.click();
handeConfirm() メソッドが実行されます。しかし、サーバーからファイル ストリームを保存する方法がわかりません。以下のコードでストリームを見てみました。
anchor.click().getWebResponse().getContentAsString();
ただし、結果はページ x と同じです。サーバーからストリームをキャプチャする方法を知っている人はいますか? ありがとうございました。