【问题标题】:Perform a specific function on Each page load with vb.net使用 vb.net 对每个页面加载执行特定功能
【发布时间】:2012-09-13 04:56:26
【问题描述】:

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

1) 当我们打开 www.yahoo.com 然后页面完全加载后,我的程序应该以编程方式单击登录按钮。

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

3) 登录后,我的程序应该以编程方式单击邮件链接。

【问题讨论】:

  • Stackoverflow 用户不是来解决你的问题的,他们是来帮助你解决问题的。因此,您需要编辑您的问题并添加您尝试过的内容以及发现问题的位置。

标签: vb.net winforms webbrowser-control


【解决方案1】:
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 控件的 DocumentCompleted 事件而不是 Do Until WebBrowser1.ReadyState = 要好得多。我会把这个练习留给你。

【讨论】:

  • 请注意,文档完成事件可能会触发多次 - 例如:对于有框架的网站。一个稍微改进的解决方案是使用 documentCompleted 事件,但如果 WebBrowser1.ReadyState WebBrowserReadyState.Complete 则“退出子”
猜你喜欢
  • 2012-12-18
  • 1970-01-01
  • 1970-01-01
  • 2016-04-03
  • 2010-11-05
  • 2012-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多