使用vb.net对每个页面加载执行特定功能

使用vb.net对每个页面加载执行特定功能,vb.net,winforms,webbrowser-control,Vb.net,Winforms,Webbrowser Control,我正在用vb.net2008制作一个应用程序。我正在使用webbrowser控件打开网站。我希望在网站的每个网页负载上,我的应用程序以编程方式执行特定的功能。像 1) 当我们打开www.yahoo.com时,在页面完全加载后,我的程序应该按程序单击登录按钮 2) 之后,当下一个提示用户名和密码的页面加载时,我的程序应该自动输入用户名和密码 3) 登录后,我的程序应按程序单击邮件链接 Private Sub Command1_Click() 'Operation 1 WebBrowser1.Nav

我正在用vb.net2008制作一个应用程序。我正在使用webbrowser控件打开网站。我希望在网站的每个网页负载上,我的应用程序以编程方式执行特定的功能。像

1) 当我们打开www.yahoo.com时,在页面完全加载后,我的程序应该按程序单击登录按钮

2) 之后,当下一个提示用户名和密码的页面加载时,我的程序应该自动输入用户名和密码

3) 登录后,我的程序应按程序单击邮件链接

Private Sub Command1_Click()
'Operation 1
WebBrowser1.Navigate "http://www.yahoo.com/"
Do Until WebBrowser1.ReadyState = WebBrowserReadyState.Complete    
 DoEvents
Loop


'Operation 2, signing in
WebBrowser1.Document.getElementById("Username").Value = "MyUsername"
WebBrowser1.Document.getElementById("Password").Value = "Password"
WebBrowser1.Document.getElementById("buttonLogOn").Click


Do Until WebBrowser1.ReadyState = WebBrowserReadyState.Complete 
DoEvents
Loop

'Operation 3
Dim link as HtmlElement = webBrowser1.Document.GetElementByID("mailLink")
link.InvokeMember("Click")

End Sub

使用webbrowser控件的事件要比使用webbrowser控件的事件要好得多,而不是使用
Do-Until-WebBrowser1.ReadyState=
。我将把这个练习留给您。

Stackoverflow用户不是来解决您的问题的,他们是来帮助您解决问题时遇到的困难。因此,您需要编辑您的问题并添加您尝试过的内容和发现问题的位置。但是,请注意,document completed事件可能会触发多次-例如:对于具有框架的站点。一种稍微改进的解决方案是使用documentCompleted事件,但如果WebBrowser1.ReadyState WebBrowserReadyState.Complete,则使用“退出sub”