此代码可以与其中一个网站一起使用,但有些网站会回复这样的错误信息,我不知道如何编辑(星星错误)
var document = webBrowser1.Document;
var documentAsIHtmlDocument3 = (mshtml.IHTMLDocument3)document.DomDocument;
var htmlString = documentAsIHtmlDocument3.documentElement.innerHTML;
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(htmlString);
// Sử dụng node để lấy tin
HtmlNodeCollection texts = doc.DocumentNode.SelectNodes("//div[@id='footer']/p");
string kq = "";
// cho vòng lặp để lấy kết quả
foreach (var item in texts)
{
kq += item.InnerText + Environment.NewLine;
}
richTextBox1.Text = kq;
HTML code:
<div id="divTop" >
<div id="text-conent" style="width: 500px; float: right;"></div>
<div id="grid" style="margin-removed 505px; height: 700px;"></div>
</div>
答案 0 :(得分:0)
似乎在成功的网页上存在div
id
footer
但是在其他失败的网页上没有这样的div。
因此,似乎您的逻辑可能需要更改以使doc.DocumentNode.SelectNodes
的搜索表达式更加宽容。
或者创建一些在原始版本失败时可以使用的搜索字符串:
if(texts == null){
texts = doc.DocumentNode.SelectNodes("some other search string");
}
等