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는 합법적입니까? 예, 이유를 알아보십시오.