2014-02-11 17 views
1

場景:將文本添加到TextField中但我必須等待彈出才能打開? C#

我已經能夠使用c#和web瀏覽器單擊按鈕,但現在我想在彈出窗口打開後在文本字段中添加文本。

想象一下Facebook上的事件標籤。

當您製作一個活動時,它會彈出一個小框,您可以在其中輸入文字(AJAX)。

我想從我的文本框中的文本彈出並完全加載後,將文本放入這些文本字段中。

我試過使用異步和等待關鍵字沒有運氣,我已經嘗試掃描頁面,但彈出使用AJAX發生,所以我不能重新掃描頁面(我不認爲)抓住正確的div ID輸入文本?

任何想法的?

感謝

這是到目前爲止我的代碼:

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

這是最有可能的佐餐HTML彈出,而不是一個真正的窗戶。您可以使用webBrowser.IsBusyTask.Delayasync/await,嘗試使用異步輪詢WebBrowser.Document.Body.InnerHtml來處理更改。一個完整的例子可以找到here

相關問題