Come richiamare Member utilizzando HtmlAgilityPack

c# html-agility-pack login

Domanda

Voglio usare la classe HtmlAgilityPack per accedere. Ma non so come.

Questo è quello che ho provato. Ma non sta funzionando.

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
 }

Non riesco a utilizzare la classe WebBrowser .

Risposta accettata

Ho trovato un modo per accedere utilizzando Selenium e penso che sia il modo migliore per farlo:

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();

scarica il selenio per dotnet

Dopo il download, aggiungi il riferimento WebDriver.dll e utilizza lo spazio OpenQA.Selenium.Firefox; nomi OpenQA.Selenium.Firefox;

Scopri di più qui


Risposta popolare

HtmlAgilityPack può solo analizzare html.

Utilizzare invece WebClient.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché