2014-06-24 3 views
0

WatIn을 사용하여 파일을 다운로드해야하며 Windows가 잠겨있을 때이 작업을 수행해야합니다. 즉, DownloadIeFile을 사용할 수 없으므로 saveAs 팝업 경로를 열고 저장합니다. 창이 열렸을 때 작동하지만 저장 대화 상자를 사용하여이 saveAs 기능을 처리해야합니다.팝 아웃 대화 상자를 사용하여 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

이 Watin가 작동하지 않습니다. Microsoft.mshtml과 Interop.SHDocVw 이진 참조를 사용하기 때문에. 이러한 바이너리는 COM 구성 요소이며 대화 형 UI가 필요합니다. 샘플의 경우 다운로드 대신 로그인 자체를 시도 할 수 있습니다. 테스트를 시작하고 기기를 잠그고 잠금을 해제하십시오. 결과를 관찰하면 COM 예외와 같은 오류가 발생합니다 ....