1. HtmlAgilityPack es una biblioteca de clases de código abierto para analizar elementos HTML. Su característica más importante es que puede analizar HMTL a través de XPath. Si ha usado C# para operar XML antes, se sentirá cómodo usando HtmlAgilityPack.
El siguiente es un ejemplo simple para presentar el uso de HtmlAgilityPack para sitios web desarrollados por programas Asp.Net para simular el inicio de sesión, además de conocer el valor del atributo de nombre del cuadro de texto del nombre de usuario y el cuadro de texto de la contraseña. Además, también necesitas conocer los valores de los dos controles ocultos __VIEWSTATE y __EVENTVALIDATION de la página, así como el atributo de nombre del botón de enviar. Veamos cómo usar HtmlAgilityPack para obtener este valor adicional.
2. Rutina: protected?void?btnHtml_Click(object?sender,?EventArgs?e)
{
if?(tbUrl.Text.Length? >?0)
{
HtmlWeb?htmlWeb?=?new?HtmlWeb();
HtmlDocument?htmlDoc?=?htmlWeb.Load(este . tbUrl.Text);
HtmlNode?htmlNode?=?htmlDoc.DocumentNode.SelectSingleNode("//input[@id='__VIEWSTATE']");
string?viewStateValue ? =?htmlNode.Attributes["value"].Value;
htmlNode?=?htmlDoc.DocumentNode.SelectSingleNode("//input[@id='__EVENTVALIDATION']");
string?eventValidation?=?htmlNode.Attributes["value"].Value;
htmlNode?=?htmlDoc.DocumentNode.SelectSingleNode("//input[@type='submit']" ) ;
cadena?submitName?=?htmlNode.Attributes["nombre"].Valor;
tbViewState.Text?=?viewStateValue;
tbEventValidation. ?=?eventValidation;
tbSubmitName.Text?=?submitName;
}
}