我正在尝试创建一个将某人自动登录到网站的功能。
frm.Login和frm.Password就在那里因为我从另一个表单导入字符串。另一种形式是他们输入凭证的地方。
声明: 我无法访问此网站!
HTML代码
<input type="email" required="" size="21" name="email"> //email
<input type="password" required="" name="password" size="21"> //password
<input type="submit" name="submit" value="Sign in"> //button to sign in.
我的尝试
Form3 frm = new Form3();
frm.ShowDialog();
webBrowser1.Navigate("examplesite.php");
webBrowser1.Document.GetElementsByTagName("input")
.GetElementsByName("email")[0]
.SetAttribute("Value", frm.Login);
webBrowser1.Document.GetElementsByTagName("input")
.GetElementsByName("password")[0]
.SetAttribute("Value", frm.Password);
ClickButton("submit");
ClickButton的代码
public void ClickButton(string type)
{
var button = webBrowser1.Document.GetElementsByTagName("submit")
.Cast<HtmlElement>()
.FirstOrDefault(m => m.GetAttribute("type") == type);
if (button != null)
button.InvokeMember("click");
}
错误:Test.exe中出现未处理的“System.NullReferenceException”类型异常附加信息:对象引用未设置为对象的实例。
提供错误的行:
webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("email")[0].SetAttribute("Value", frm.Login);
答案 0 :(得分:0)
用于单击按钮的代码。它需要&#34;登录&#34;价值并点击它
foreach (HtmlElement el in elCol)
{
if (el.GetAttribute("value").Equals("Sign in"))
{
el.InvokeMember("click");
}
}