Wie InvokeMember mit HtmlAgilityPack

c# html-agility-pack login

Frage

Ich möchte die HtmlAgilityPack Klasse für die Anmeldung verwenden. Aber ich weiß nicht wie.

Das habe ich ausprobiert. Aber es funktioniert nicht.

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
 }

Ich kann die WebBrowser Klasse nicht verwenden.

Akzeptierte Antwort

Ich habe einen Weg gefunden, mich mit Selenium und ich denke, es ist der beste Weg, es zu tun:

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

Laden Sie selen für dotnet herunter

OpenQA.Selenium.Firefox; nach dem Download den Verweis WebDriver.dll und verwenden Sie den Namespace OpenQA.Selenium.Firefox;

Erfahren Sie mehr hier


Beliebte Antwort

HtmlAgilityPack kann nur HTML analysieren.

Verwenden Sie stattdessen WebClient.



Related

Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum