2017-07-08 22 views
0

我是HTMLAgilityPack的新手,但現在逐漸能夠在我的程序中成功實現。我的問題是「SelectNodes」間歇性地返回Nullpointer異常。但有時它確實有效。我試圖強行等待,使用睡眠命令,調試/步驟在代碼中,但沒有幫助,有時我通過線路,但有時我失敗,在錯誤 「發生類型'System.ArgumentNullException'的未處理的異常在System.Core.dll中 其他信息:值不能爲空。「HtmlAgilityPack - SelectNodes間歇性地響應NullPointer異常

這個網站我試圖加載和從節點讀取值... https://www.g2crowd.com/categories/mobile-app-testing

不知道這是一件關係到餅乾/網站的頁面超時..我無法弄清楚我可能忽略了需要HTMLWeb()來設置任何屬性

這裏是我的代碼:

HtmlWeb webGet = new HtmlWeb(); 
var document = webGet.Load("https://www.g2crowd.com/categories/mobile-app-testing"); 
//THIS BELOW LINE INTERMITTENTLY FAILS, AT TIMES , IT POPULATES THE ARRAY 
HtmlNode[] symbolnodes = document.DocumentNode.SelectNodes("//h5[@class=\"margin-bottom-4th font-weight-bold ellipsis\"]").ToArray(); 
foreach (HtmlNode item in symbolnodes) 
{ 
} 

我的餅乾懷疑,我想加入這個下面的代碼,但沒有幫助以及

    webGet.PreRequest += request => 
       { 
        request.CookieContainer = new System.Net.CookieContainer(); 
        return true; 
       }; 
+0

「不確定」。請問任何HTMLAgilityPack專家或有人可以幫我解決這個問題嗎? – SAH

回答

0

我能解決這個問題。問題在於每個頁面的HTML節點都不同。我不確定這是否與Dynamic HTML概念相關,因此我指定查詢的元素返回NULL。我試圖加載100個不同的頁面1,所以某些頁面有不同的元素,雖然他們都屬於同一個網站。 「不確定我的問題是否不清楚」