2013-08-04 42 views
3

我使用HtmlUnit加載了一個充滿JavaScript的網頁。 WebClient執行JavaScript就好了。然而,當我點擊一個調用Ajax調用的特定表單上的按鈕時,即使調用本身完成,內容(結果)也不會出現在頁面上(即使它在真實瀏覽器中)。HtmlUnit - 獲取更新頁面?

爲什麼HtmlPage包含我點擊按鈕後動態添加的內容?

有沒有辦法在HtmlUnit中獲得「更新」頁面?

+1

當你說的調用完成,你的意思是執行AJAX請求來電或響應回調?我的猜測是你可能會在AJAX請求返回之前檢查內容。任何代碼? –

+2

HtmlUnit將執行Ajax調用,**將**更新頁面。請注意,與常規頁面加載不同,'click()'調用將不**等待Ajax請求的完成。它會立即進入下一行代碼。 – acdcjunior

+0

沒有代碼,我們不能告訴你已經嘗試了什麼,但這裏有另外一個問題解釋瞭如何等待Ajax請求完成:http://stackoverflow.com/questions/5555178/htmlunit-doesnt-waitfor -javascript – Vulcan

回答

0

首先,你必須等待AJAX​​調用完成,那麼它需要Ajax調用後您的網頁同步,

synchronized (your_page);