vb6.0使用WebBrowser控件,如何实现网页按钮点击

vb6.0使用WebBrowser控件,如何编程实现网页按钮点击,已知网页源代码如下,无ID。
div val="2" class="gotobtn jsgotobtn">继续学习

提示,VB6.0+WebBrowser使用下列代码无效。
Dim X As Object
For Each X In WebBrowser1.document.getElementsByTagName("a")
If Trim(X.innerText) = "继续学习" Then
X.Click
Exit For
End If
Next

img

该回答引用ChatGPT
在VB6.0中使用WebBrowser控件实现网页按钮点击,可以通过模拟鼠标点击的方式来实现。具体步骤如下:
1. 获取按钮元素
首先需要获取到要点击的按钮元素,可以通过WebBrowser控件的document属性获取网页的DOM结构,然后使用getElementsByTagName方法获取所有的按钮元素,再通过遍历找到需要点击的按钮元素。
示例代码:

Dim btn As Object
For Each btn In WebBrowser1.document.getElementsByTagName("div")
If btn.className = "gotobtn jsgotobtn" Then
'找到了需要点击的按钮元素
Exit For
End If
Next

2. 模拟鼠标点击
获取到需要点击的按钮元素后,可以使用其fireEvent方法模拟鼠标点击事件。具体来说,可以使用"onclick"事件触发器来模拟点击事件,代码如下:

btn.fireEvent "onclick"

完整代码示例:

Dim btn As Object
For Each btn In WebBrowser1.document.getElementsByTagName("div")
If btn.className = "gotobtn jsgotobtn" Then
'找到了需要点击的按钮元素
btn.fireEvent "onclick" '模拟鼠标点击
Exit For
End If
Next

注意:如果按钮元素的点击事件是通过JavaScript代码绑定的,那么上述方法可能无效。此时可以尝试使用eval方法执行JavaScript代码来触发点击事件,具体代码如下:

WebBrowser1.document.parentWindow.eval "document.getElementsByClassName('gotobtn jsgotobtn')[0].click();"

由于你的代码中按钮没有使用a标签,而是使用div标签,所以上述代码无法实现点击。您可以尝试使用下列代码来模拟点击该按钮:

WebBrowser1.Document.GetElementsByTagName("div")(0).Click

(0)表示获取页面中第一个div标签,你可以根据自己的实际情况调整该值。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
在VB6.0中使用WebBrowser控件实现网页按钮点击,可以通过以下步骤进行:

  1. 通过WebBrowser控件加载网页:
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.example.com/"已黑化的小白 End Sub
  1. 在WebBrowser控件加载完成后,通过DocumentComplete事件获取网页文档:
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If pDisp Is WebBrowser1.Object Then
    ' 获取网页文档
    Set doc = WebBrowser1.Document
End If
End Sub
  1. 通过getElementsByTagName方法获取网页元素,然后通过循环判断元素内容,实现按钮点击:
Private Sub btnClick_Click()
Dim elements As IHTMLElementCollection
Set elements = doc.getElementsByTagName("div")
For Each ele In elements
    If ele.getAttribute("class") = "gotobtn jsgotobtn" Then
        If ele.innerText = "继续学习" Then
            ele.Click
            Exit For
        End If
    End If
Next
End Sub

完整的代码如下:

```
Private doc As HTMLDocument

Private Sub Form_Load()
WebBrowser1.Navigate "http://www.example.com/%22%E5%B7%B2%E9%BB%91%E5%8C%96%E7%9A%84%E5%B0%8F%E7%99%BD End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If pDisp Is WebBrowser1.Object Then
' 获取网页文档
Set doc = WebBrowser1.Document
End If
End Sub

Private Sub btnClick_Click()
Dim elements As IHTMLElementCollection
Set elements = doc.getElementsByTagName("div")
For Each ele In elements
If ele.getAttribute("class") = "gotobtn jsgotobtn" Then
If ele.innerText = "继续学习" Then
ele.Click
Exit For
End If
End If
Next
End Sub
`