2010-08-16 48 views
1

我使用HtmlUnit [見Testing a website using C#],我碰到一個奇怪的問題:
我想調用一個頁面,單擊按鈕並檢索後續頁面。 它工作正常,但有時它與ElementNotFoundException異常,當我嘗試設置檢索頁中的字段的值屬性。HtmlUnit - ElementNotFound異常

我嘗試添加一個睡眠(1000),但它並不能幫助......

任何想法?

回答

0

嘗試添加一個ElementNotFoundException異常,並在發生時向控制檯輸出page.toXml()。有機會,你沒有得到你認爲你得到的網頁。

+0

我注意到,只有當我有一個弱的互聯網連接,我得到這個例外。一旦它強大,它可以正常工作。看起來HtmlUnit有一些TimeOut,當它到期時,他只是返回一個Null對象.... – charlie 2010-08-18 12:49:57

+0

這很可能是:http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/WebClient.html# getTimeout%28%29 – 2010-08-18 19:36:37

2

這與使用Web瀏覽器單擊網頁上的按鈕時相同,並且因爲互聯網連接速度慢,它不會響應,因此您需要重新加載頁面,因此您必須在代碼手柄中執行相同操作當拋出此異常時再次重新加載頁面。