2014-11-07 52 views
0

我在我的應用程序中使用WebBrowser。當我點擊提交按鈕,一些JavaScript運行,並通過使用AJAX頁面獲得我想要保存的一些新的競爭者。但是,這是行不通的,如果我這樣做:如何從ajax更新頁面獲取內容?

btn.InvokeMember("click"); // send the form and then runs AJAX 
Thread.Sleep(1000 * 10); // it doesn't take so long... but about 1000 
var d = browser.Document.GetElementsByTagName("p"); // p is null 

,但如果我叫var d = browser.Document.GetElementsByTagName("p");從按鈕單擊它的工作原理(p不是null),即使我刪除Thread.Sleep(1000 * 10);

我不知道爲什麼。這並不是因爲p HTML標記尚未加載,因爲即使沒有調用Thread.Sleep()調用,按鈕上的點擊也會花費更少的時間,但我得到了HTML元素。

我希望這是明確的,但如果它不告訴我,我會嘗試澄清。

回答

1

嘗試timer而不是sleep並檢查瀏覽器。 ReadyState == WebBrowserReadyState.Complete