任何人都可以帮助我使用VB脚本创建HTML DOM对象。我必须浏览HTML表单并在文本框中输入值,或者使用vb脚本和HTML DOm函数从下拉列表中选择一个值。
我知道要创建一个XMl dom对象,我们可以使用下面的语句,因此任何类似于下面的语句都可用于创建HTML DOM。
Set Xmlobj = CreateObject ("Microsoft.XMLDOm")
Set Htmlobj = CreateObject ("Microsoft.HtmlDom") ' Is this avalibale when I tried it shows error for object creattion, other workaround available.
答案 0 :(得分:2)
没有“HTMLDOM”对象,因为HTML附带的内容比XML更多。它需要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
答案 1 :(得分:1)
Set oDoc = CreateObject("HTMLFILE")
oDoc.write "<html><head><title></title></head><body><div id='div'>hello</div></body></html>"
Response.Write oDoc.getElementById("div").innerHTML
-
WScript.Echo oDoc.getElementById("div").innerHTML
输出: -
您好