htmlagilitypack selectsinglenode 返回空

htmlagilitypack selectsinglenode returning null

问题在于,它在 20 次左右的尝试中只能正确运行一次,而且完全是随机的。无法处理这种情况...将不胜感激 ^^

        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);

您必须检查节点是否为空。服务器可能 return 对每个请求有不同的响应。服务器可能 returning 20 to 1 你想要的元素。你确定内容是一样的吗?会话可能会因情况而异。确保成功和不成功的内容相等。