2008-10-13 9 views
7

Herhangi biri, Watin kullanarak PDF dosyası indirme ve örnek sunabilir mi? SaveAsDialogHandler'ı denedim ama anlayamadım. Belki bir MemoryStream kullanılabilir?Watin ve PDF'ler

sayesinde

--jb

cevap

2

Bu kod hile olacaktır. UsedialogOnce sınıfı WatiN.UnitTests kodunda bulunabilir ve WatiN 1.3 sürümünün bir parçası olacaktır (muhtemelen 14 Ekim'de piyasaya sürülecektir).

FileDownloadHandler fileDownloadHandler = new FileDownloadHandler (file.FullName); kullanılarak (yeni UseDialogOnce (ie.DialogWatcher, fileDownloadHandler)) { ie.Button ("exportPdfButtonId") ClickNoWait (.);

fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(30); 
fileDownloadHandler.WaitUntilDownloadCompleted(200); 

}

HTH, yerine Acrobat Foxit kullanmak dışında sadece, aynı sorun koştu watin

4
FileDownloadHandler fileDownloadHandler = new FileDownloadHandler(file.FullName); 
using (new UseDialogOnce(ie.DialogWatcher, fileDownloadHandler)) 
{ 
    ie.Button("exportPdfButtonId").ClickNoWait(); 

    fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(30); 
    fileDownloadHandler.WaitUntilDownloadCompleted(200); 
} 
1

Jeroen van Menen Kurşun geliştirici. Foxit'e tarayıcıda çalışmamasını söyledim, o zaman bu kod gayet iyi çalışıyordu.

 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)); 
İlgili konular