网页点击按钮

### 知识点总结 #### 一、网页自动化与VB中的WebBrowser控件 - **概念**:在VB(Visual Basic)中,`WebBrowser` 控件是一个强大的工具,允许开发者在自己的应用程序中嵌入一个浏览器环境。通过该控件,可以加载、浏览并操作网页内容。 - **应用场景**: - 自动化测试:模拟用户行为进行页面操作。 - 数据抓取:获取网页数据用于分析或存储。 - 页面操作:如点击按钮、填写表单等。 #### 二、VB代码实现点击网页上的按钮 - **基础逻辑**:遍历`WebBrowser`文档对象模型(DOM),查找特定类型的元素,并触发点击事件。 - **关键代码片段**: ```vb For i = 0 To WebBrowser1.Document.All.Length - 1 If UCase(WebBrowser1.Document.All(i).TagName) = "BUTTON" And WebBrowser1.Document.All(i).Value = "" Then WebBrowser1.Document.All(i).Click End If Next i ``` - **解释**: - `For` 循环遍历文档中的所有元素。 - 使用 `TagName` 属性检查当前元素是否为 `<button>` 类型。 - 检查按钮的 `Value` 是否为空,这是为了进一步过滤出目标按钮。 - 调用 `.Click` 方法模拟用户点击。 #### 三、处理表单提交 - **代码示例**: ```vb Dim objDoc On Error Resume Next Set objDoc = WebBrowser1.Document For i = 1 To objDoc.All.Length - 1 If objDoc.All(i).Name = "email" Then objDoc.All(i).Value = Text1.Text ElseIf objDoc.All(i).Name = "password" Then objDoc.All(i).Value = Text2.Text ElseIf objDoc.All(i).Name = "submit" Then objDoc.All(i).Click End If Next ``` - **功能**:此段代码用于填写表单并提交: - 遍历页面元素。 - 找到名为 "email" 和 "password" 的输入框,分别设置它们的值。 - 查找表单提交按钮并模拟点击事件。 #### 四、其他相关代码解析 - **导航至指定URL**: ```vb Private Sub Command1_Click() WB1.Navigate Text1.Text End Sub ``` - 这段代码允许用户输入URL,然后导航到该URL。 - **启用计时器**: ```vb Private Sub Command2_Click() Timer1.Enabled = True End Sub ``` - 启用定时器,可以用于定期执行某些任务。 - **卸载窗体**: ```vb Private Sub Command3_Click() Unload Me End Sub ``` - 关闭当前窗体。 - **处理计时器事件**: ```vb Private Sub Timer1_Timer() Dim a As Long a = a + 1 Label1.Caption = "Ѿ" & Fix(a / 60) & "" If a Mod 600 = 0 Then Command4_Click End If End Sub ``` - 定时器每秒增加变量 `a` 的值,并在达到一定时间间隔后调用 `Command4_Click` 方法。 - **遍历输入类型元素**: ```vb Private Sub Command4_Click() Dim vDoc, vTag Dim i As Integer Set vDoc = WB1.Document For i = 0 To vDoc.All.Length - 1 If UCase(vDoc.All(i).TagName) = "INPUT" Then Set vTag = vDoc.All(i) If vTag.Type = "submit" Then List1.AddItem vTag.Name Select Case vTag.Name Case "btnBack" vTag.Click End Select End If End If Next i End Sub ``` - 遍历页面中的所有 `<input>` 元素。 - 查找类型为 "submit" 的元素,并添加其名称到列表框。 - 根据名称判断并触发点击事件。 #### 五、总结 以上代码展示了如何使用 VB 的 `WebBrowser` 控件来实现网页自动化操作,包括但不限于点击按钮、填写表单以及处理页面加载后的事件。这些技巧对于自动化测试、网页爬虫等领域非常有用。通过深入理解并灵活运用这些代码片段,开发者可以更加高效地完成各种任务。






























If UCase(WebBrowser1.Document.All(i).tagName) = "BUTTON" and WebBrowser1.Document.All(i).Value == "发表" Then
WebBrowser1.Document.All(i).Click
Endif
Next i
Private Sub Command1_Click()
WB1.Navigate Text1
End Sub
Private Sub Command2_Click()
Timer1.Enabled = True
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Command4_Click()
Dim vDoc, vTag
Dim I As Integer
Set vDoc = WB1.Document List1.Clear
For I = 0 To vDoc.All.length - 1
If UCase(vDoc.All(I).tagName) = "INPUT" Then
Set vTag = vDoc.All(I)
If vTag.Type = "submit" Then
List1.AddItem vTag.Name
Select Case vTag.Name
Case "btnBack" vTag.Click
End Select
End If
End If
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Dim a As Long
a = a + 1
Label1 = "已经运行了" & Fix(a / 60) & "分钟"
If a Mod 600 = 0 Then
Command4_Click
End If
End Sub
看了论坛上的一些范例 能自己制作校内网的登陆程序
也成功的登陆了
Dim objDoc
On Error Resume Next
Set objDoc = WebBrowser1.Document
For I = 1 To objDoc.All.Length - 1
If objDoc.All(I).Name = "email" Then
objDoc.All(I).Value = Text1.Text
ElseIf objDoc.All(I).Name = "password" Then
objDoc.All(I).Value = Text2.Text
ElseIf objDoc.All(I).Name = "submit" Then
objDoc.All(I).Click
End If
NexT
剩余5页未读,继续阅读

- tonyaiqq2014-06-15看不懂!可能是我太菜!
- 半夜爬起2018-10-11非常有用,谢谢!
- keyuhan2014-02-22十分好用,感谢分享!

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源


