HtmlAgilityPackを使用してInvokeMemberを呼び出す方法

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;を使用しますOpenQA.Selenium.Firefox;

詳細はこちら


人気のある回答

HtmlAgilityPackはHTMLのみを解析できます。

代わりにWebClientを使用してください。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ