我正在尝试使用VB.NET创建一个带有Web浏览器控件的Windows窗体。
我的表单由webbrowser控件和标签组成。
我想在找到输入名称时更改标签文本=" gid_ost_go"到了#34;找到了它!"
以下是我的代码:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
WebBrowser1.Navigate("https://mywebsite-url")
End Sub
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Dim theElementCollection As HtmlElementCollection
theElementCollection = WebBrowser1.Document.GetElementsByTagName("input")
For Each curElement As HtmlElement In theElementCollection
If curElement.GetAttribute("name").Equals("gid_ost_go") Then
Label1.Text = "Found it!"
End If
Next
End Sub
End Class
上述代码不起作用。 label1的值不会改变。但是,我能够找到名称=" gid_ost_go"的输入标签。在页面的源代码中。
此外,我已将注册表更改为模拟IE11的webbrowser控件。因此所有脚本都可以正常运行。
提前致谢。
更新
我将多个部分视图加载到我的页面上,并且所提到的标记位于其中一个视图上。由于标签文本没有更改,因此未加载或捕获事件。所以我想要做的是,当我点击名称=" gid_ost_go"的按钮时。我想要显示form2。页面的源代码确实显示了名称为" gid_ost_go"
的输入按钮