如何使用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();

下載selenium for dotnet

下載後添加引用WebDriver.dll並使用命名空間OpenQA.Selenium.Firefox;

在這裡了解更多


熱門答案

HtmlAgilityPack只能解析html。

請改用WebClient。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因