2014-02-11 2 views
1

시나리오 :TextField에 텍스트 추가하기 그러나 팝업을 열려면 기다려야합니까? C#

나는 C#과 웹 브라우저를 사용하여 버튼을 클릭 할 수 있었지만 지금은 팝업이 열린 후에 텍스트 필드 안에 텍스트를 추가하려고합니다.

Facebook의 이벤트 탭을 상상해보십시오.

이벤트를 만들면 텍스트 (AJAX)를 입력 할 수있는 작은 상자가 팝업됩니다.

텍스트 상자가 팝업되어 완전히로드 된 후 해당 텍스트 입력란으로 텍스트 상자의 텍스트를 가져 오려고합니다.

비동기를 사용하여 키워드를 기다렸습니다. 페이지 스캔을 시도했지만 AJAX를 사용하여 팝업이 발생하므로 페이지를 다시 스캔 할 수 없습니다 (생각하지 않음). 올바른 div를 잡으려고합니다. 이드는 텍스트를 입력 하시겠습니까?

아이디어가 있으십니까?

감사

것은 여기에 지금까지 내 코드입니다 :

이 가장 가능성이 된 병목 HTML 팝업이 아닌 실제 창입니다
private void web_postFB(object sender, 
      WebBrowserDocumentCompletedEventArgs e) 
     { 
       if (btnClicked == false) 
       { 
        var links = web.Document.GetElementsByTagName("a"); 
        foreach (HtmlElement link in links) 
        { 
         if (link.GetAttribute("className") == "mrs mlm _42ft _4jy0 _4jy3 _517h") 
         { 
          link.InvokeMember("click"); 
         } 
         if (web.Document.GetElementById("u_f4_3") != null) 
         { 
Here is where I want it to wait for the pop up to be fully opened. Then do the method below to insert the text into the text fields. 

          inputText(); 
         } 
        } 
       } 
     } 

답변

0

. webBrowser.IsBusy, Task.Delayasync/await을 사용하여 변경 사항에 대해 WebBrowser.Document.Body.InnerHtml의 비동기 폴링으로 처리하려고 시도 할 수 있습니다. 완전한 예는 here입니다.

관련 문제