我正在创建一个带有自动登录到站点的 Webbrowser 控件的表单。当我调试它时,我可以看到它启动到站点并很好地填写用户名和密码,但是一旦它登录,它就会再次通过相同的代码,因此导致错误,因为它找不到相同的元素。为什么程序会循环执行此代码?我是否将代码输入了错误的事件处理程序?
namespace MyProject
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlDocument doc = webBrowser1.Document;
HtmlElement username = doc.GetElementById("UserName");
HtmlElement password = doc.GetElementById("Password");
HtmlElement submit = doc.GetElementById("submit");
username.SetAttribute("value", "XXXXXXXX");
password.SetAttribute("value", "YYYYYYYYYY");
submit.InvokeMember("click");
}
}
}