Как InvokeMember с помощью HtmlAgilityPack

c# html-agility-pack login

Вопрос

Я хочу использовать класс HtmlAgilityPack для входа в систему. Но я не знаю, как это сделать.

Это то, что я пробовал. Но это не работает.

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
 }

Я не могу использовать класс WebBrowser .

Принятый ответ

Я нашел способ входа в систему с помощью Selenium и я думаю, что это лучший способ сделать это:

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

скачать селен для dotnet

После загрузки добавить ссылку WebDriver.dll и использовать пространство имен OpenQA.Selenium.Firefox;

Подробнее здесь


Популярные ответы

HtmlAgilityPack может обрабатывать только html.

Вместо этого используйте WebClient.




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему