2017-12-03 7 views
-3

問題は、20回試行で1回だけ正しく実行され、完全にランダムです。 couldntのは、状況に対処する...助けが^^htmlagilitypack chooseinglenode nullを返す

 WebClient client = new WebClient(); 

     client.Encoding = Encoding.UTF8; 
     try 
     { 
      html = client.DownloadString(url); 
     } 
     catch (WebException) 
     { 
      if (MessageBox.Show("url'de hata", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error) == DialogResult.OK) 
      { 

      } 

     } 

     HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
     HtmlWeb web = new HtmlWeb(); 

     doc.LoadHtml(html); 

     HtmlNode foo = doc.DocumentNode.SelectSingleNode(Xpath);  

     Listbox1.Items.Add(foo.Attributes["href"].Value); //error here 
     currentPage = (foo.Attributes["href"].Value); 
+0

動作するHTMLの例と動作しないHTMLの例を含めてください。私たちがその情報を持っていない場合、私たちは共感を提供する以外に何ができますか?私はその方法が不調であることを非常に疑う。これには理由があります。 –

+0

問題は動作し、同じhtmlで動作しません –

+0

私はあなたを信じていません。それは常に*正確に*同じHTML、文字のための文字であることを確認するために何をしましたか?あなたの答えが「私はそれがあるべきだと思った」と答えたら、それは正しい答えではありません。しかし、私たちが自分たちのために見ることができるようにHTMLを見せてください。 –

答えて

0

を理解されるであろうあなたは、ノードをチェックする必要がnullではありません。サーバーは、要求ごとに異なる応答を返すことがあります。サーバーが20から1の要素を返す可能性があります。内容は同じですか?セッションは状況によって異なる場合があります。成功したコンテンツと失敗したコンテンツが同じであることを確認します。