C#WebBrowser调用问题
我正在使用网络浏览器登录facebook。一切正常,但问题是当我调用按钮单击时,我需要检查密码是否正确,但是,检查似乎发生在按钮被调用之前,这毫无意义,因为检查代码在调用之后C#WebBrowser调用问题,c#,C#,我正在使用网络浏览器登录facebook。一切正常,但问题是当我调用按钮单击时,我需要检查密码是否正确,但是,检查似乎发生在按钮被调用之前,这毫无意义,因为检查代码在调用之后 private void Facebook_Login(String username, String password) { webBrowser1.Url = new Uri("http://m.facebook.com"); while (webBrowser1.ReadyS
private void Facebook_Login(String username, String password)
{
webBrowser1.Url = new Uri("http://m.facebook.com");
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
HtmlElementCollection inputs = webBrowser1.Document.GetElementsByTagName("input");
foreach(HtmlElement input in inputs)
{
if (input.GetAttribute("name") == "email")
{
input.SetAttribute("value", "jamesjeffery@hotmail.co.uk");
}
if (input.GetAttribute("name") == "pass")
{
input.SetAttribute("value", "kelaroostj"); // dont worry that pass wont work lol.
}
if (input.GetAttribute("name") == "login")
{
input.InvokeMember("click");
}
}
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
HtmlElementCollection bs = webBrowser1.Document.GetElementsByTagName("b");
foreach(HtmlElement b in bs)
{
MessageBox.Show(b.InnerHtml);
}
Log_Message("Logged into Facebook with: jamesjeffery@hotmail.co.uk");
}
这是因为您正在遍历所有HTML元素。您只需要按“逻辑”顺序编写此代码,但这并不意味着HTMLElementCollection也包含此代码 如果HTML按钮是行中的第一个元素,那么将发生的第一件事就是单击按钮
HtmlElement Username = Browsers[0].Document.GetElementById("name");
HtmlElement Password = Browsers[0].Document.GetElementById("pass");
HtmlElement LoginBtn = Browsers[0].Document.GetElementById("login");
Username.SetAttribute("value", "jamesjeffery@hotmail.co.uk");
Password.SetAttribute("value", "kelaroostj");
LoginBtn.InvokeMember("click");
这是假设元素的ID如上所述。这是因为您正在遍历所有HTML元素。您只需要按“逻辑”顺序编写此代码,但这并不意味着HTMLElementCollection也包含此代码 如果HTML按钮是行中的第一个元素,那么将发生的第一件事就是单击按钮
HtmlElement Username = Browsers[0].Document.GetElementById("name");
HtmlElement Password = Browsers[0].Document.GetElementById("pass");
HtmlElement LoginBtn = Browsers[0].Document.GetElementById("login");
Username.SetAttribute("value", "jamesjeffery@hotmail.co.uk");
Password.SetAttribute("value", "kelaroostj");
LoginBtn.InvokeMember("click");
这是假设元素的ID如上所述