2014-06-24 98 views
0

我需要使用WatIn下載文件,並且我需要在Windows鎖定時執行此操作,這意味着我無法使用DownloadIeFile打開SaveAs彈出式插入路徑並將其保存正在工作時,窗戶打開,但我需要處理這個存檔作爲finction與保存對話框。如何使用watin下載帶彈出對話框的文件

任何人都知道如何做到這一點?

我的代碼

using (var browser = new IE("https://login.bank.com")) 
      { 
       try 
       { 
        step = "1"; 
        #region Login 
        browser.WaitForComplete(); 
        try 
        { 
         // browser.Visible = false; 
         browser.TextField(Find.ById("userID")).TypeText(strUser); 
         Thread.Sleep(1000); 
         browser.TextField(Find.ById("numID")).Value = strUserId; 
         browser.TextField(Find.ById("userPassword")).TypeText(strPass); 
         linkExist = browser.Image(Find.ById("inputSend")).Exists; 
         if (linkExist) browser.Image(Find.ById("inputSend")).Click(); 
         browser.WaitForComplete(); 
         linkExist = false; 
        } 
        catch (Exception ex) 
        { 
         successful = false; 

        } 
        browser.WaitForComplete(); 

//this wil open save dialog 
browser.GoToNoWait(DownloadLink); 

//this will emulate clicks and press SaveAs that insert path and save it 
DownloadIeFile(browser, path); 
//All works,BUT only if windows is open when it is on lock it dont hanlde it 

} 

回答

1

當計算機被鎖定華廷將無法正常工作。由於它使用Microsoft.mshtml和Interop.SHDocVw二進制引用。這些二進制文件是COM組件,需要交互式用戶界面。對於示例,您可以嘗試登錄本身而不是下載。開始測試並鎖定機器,然後解鎖。觀察結果,它將失敗拋出COM異常的錯誤....