没有“HTMLDOM”对象,因为与 XML 相比,附加到 HTML 的内容要多得多。它将需要 JavaScript 处理、会话处理、CSS 处理、HTTP 请求、cookie 处理、缓存等来将文本 HTML 转换为有意义的内存中文档对象。
如果所有这些都实现了,那么您将拥有一个完整的浏览器。这就是为什么没有这样的 COM 对象的原因。
因为您的任务可以通过 COM 自动化直接使用 Internet Explorer:
Option Explicit
Dim IE, queryField
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "http://www.google.com"
While IE.Busy Or IE.readyState <> 4
WScript.Sleep 100
Wend
Set queryField = GetFormFieldByName(IE.document, "q")
If Not queryField Is Nothing Then
QueryField.value = "test"
QueryField.form.submit
End If
WScript.Sleep 5000
IE.Quit
' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Function GetFormFieldByName(Parent, FindName)
Dim FormFields, FormField
Set GetFormFieldByName = Nothing
Set FormFields = Parent.getElementsByTagName("INPUT")
For Each FormField In FormFields
If UCase(FormField.Name) = UCase(FindName) Then
Set GetFormFieldByName = FormField
Exit For
End If
Next
End Function