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 你想要的元素。你确定内容是一样的吗?会话可能会因情况而异。确保成功和不成功的内容相等。
问题在于,它在 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 你想要的元素。你确定内容是一样的吗?会话可能会因情况而异。确保成功和不成功的内容相等。