2

在 VB6 经典中,我们可以这样做:

Private Sub Form_Load()
     WebBrowser1.Navigate2 "http://yourSite.com"
End Sub

Private Sub Command1_Click()
With Webbrowser1
     .Document.All("fieldName").Value = "some value"
     'click the button
     .Document.All("fieldName").Click
End With

End Sub

但是在 VB.Net 中,我们得到没有Value属性的错误,所以我尝试了:

  With wb
     ' fill From field
     .Document.All("fieldName").SetAttribute("Value", strFrom)
     ' click the button now
     .Document.All("fieldName").RaiseEvent("Click")
  End With

但即使这样也会产生错误:

Object reference not set to an instance of an object.

在线的:

.Document.All("fieldName").SetAttribute("Value", strFrom)

如何在 VB.net 中做同样的事情?

4

1 回答 1

1

我记得旧的 VB6 方式,如果你想在 VB.Net 代码中调用 HTML 元素的点击事件:

Private Function ClickSubmitButton()

Dim theButton As HtmlElement

Try

' Link the ID from the web form to the Button var
theButton = webbrowser1.Document.GetElementById("loginbutton")

' Now do the actual click.
theButton.InvokeMember("click")
Return True

Catch ex As Exception

Return False

End Try

End Function

使用设置属性,试试这个作为一个例子(在我的脑海中):

Dim textArea = webBrowser1.Document.All("foo")
If textArea <> Nothing Then
textArea.InnerText = "This is a test"
End IF
于 2012-05-27T05:51:35.180 回答