Я пытаюсь просмотреть примеры на веб-сайте HTML Agility Pack, чтобы узнать, как его использовать.Однако этот пример, кажется, не работает, и я хотел бы помочь разобраться, почему: https://html -agility-pack.net / from-browser
Мой код:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
getWebsite();
}
private void getWebsite()
{
string url = "http://html-agility-pack/from-browser";
var web1 = new HtmlWeb();
var doc1 = web1.LoadFromBrowser(url, o =>
{
var webBrowser = (WebBrowser)o;
// WAIT until the dynamic text is set
return !string.IsNullOrEmpty(webBrowser.Document.GetElementById("uiDynamicText").InnerText);
});
var t1 = doc1.DocumentNode.SelectSingleNode("//div[@id='uiDynamicText']").InnerText;
var web2 = new HtmlWeb();
var doc2 = web2.LoadFromBrowser(url, html =>
{
// WAIT until the dynamic text is set
return !html.Contains("<div id=\"uiDynamicText\"></div>");
});
var t2 = doc2.DocumentNode.SelectSingleNode("//div[@id='uiDynamicText']").InnerText;
}
}
Я получаю ошибку:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
System.Windows.Forms.HtmlDocument.GetElementById(...) returned null.
В частности, ошибка отображается в этой строке:
return !string.IsNullOrEmpty(webBrowser.Document.GetElementById("uiDynamicText").InnerText);
Я дважды проверил и, насколько я могу судить,мой код идентичен примеру.Куда я здесь не так?