Watinを使用してPDFファイルをダウンロードする例を誰でも提供できますか? SaveAsDialogHandler を試しましたが、わかりませんでした。おそらく、MemoryStream を使用できますか?
ありがとう、
--jb
FileDownloadHandler fileDownloadHandler = new FileDownloadHandler(file.FullName);
using (new UseDialogOnce(ie.DialogWatcher, fileDownloadHandler))
{
ie.Button("exportPdfButtonId").ClickNoWait();
fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(30);
fileDownloadHandler.WaitUntilDownloadCompleted(200);
}
このコードはトリックを行います。UsedialogOnce クラスは WatiN.UnitTests コードにあり、WatiN 1.3 リリースの一部になります (おそらく 10 月 14 日にリリースされる予定です)。
FileDownloadHandler fileDownloadHandler = new FileDownloadHandler(file.FullName); using (new UseDialogOnce(ie.DialogWatcher, fileDownloadHandler)) { ie.Button("exportPdfButtonId").ClickNoWait();
fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(30);
fileDownloadHandler.WaitUntilDownloadCompleted(200);
}
HTH、Jeroen van Menen 主任開発者 WatiN
Acrobat の代わりに Foxit を使用していることを除けば、同じ問題に遭遇しました。Foxit にブラウザーで実行しないように指示したところ、このコードは問題なく動作し始めました。これは、トリックを実行する必要がある完全な単体テストです。
string file = Path.Combine(Directory.GetCurrentDirectory(), "test.pdf");
using (IE ie = new IE())
{
FileDownloadHandler handler = new FileDownloadHandler(file);
using (new UseDialogOnce(ie.DialogWatcher, handler))
{
try
{
ie.GoToNoWait("http://www.tug.org/texshowcase/cheat.pdf");
//WatiN seems to hang when IE loads a PDF, so let it timeout...
ie.WaitForComplete(5);
}
catch (Exception)
{
//Ok.
}
handler.WaitUntilFileDownloadDialogIsHandled(30);
handler.WaitUntilDownloadCompleted(30);
}
}
Assert.That(File.Exists(file));
この投稿を見てください: