Cómo invocar a un miembro usando HtmlAgilityPack

c# html-agility-pack login

Pregunta

Quiero usar la clase HtmlAgilityPack para iniciar sesión. Pero no sé cómo.

Esto es lo que he intentado. Pero no está funcionando.

txtUserName.Text = "username";
txtPassword.Text = "password";
HtmlAgilityPack.HtmlDocument doc = new HtmlWeb().Load("about:Tabs");
doc.GetElementbyId("username").SetAttributeValue("value", txtUserName.Text);
doc.GetElementbyId("password").SetAttributeValue("value", txtPassword.Text);
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//button[@class='btn login-btn blue pull-right btn-primary']"))
 {
    node[0].InvokeMember("click");//wrong code
 }

No puedo usar la clase WebBrowser .

Respuesta aceptada

Encontré una forma de iniciar sesión usando Selenium y creo que es la mejor manera de hacerlo:

IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("Your Address Login");
IWebElement query = driver.FindElement(By.Id("username"));
query.SendKeys("Your Username");
query = driver.FindElement(By.Id("password"));
query.SendKeys("Your Password");
query.Submit();

descargar selenio para dotnet

Después de la descarga, agregue la referencia WebDriver.dll y use el espacio de nombres OpenQA.Selenium.Firefox;

Aprende más aquí


Respuesta popular

HtmlAgilityPack solo puede analizar html.

Utilice WebClient en su lugar.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué