我在 HTML 网页中有以下代码,我正在尝试通过 vba 引擎使用 html 对象库从该标记中提取值:
<input name="txtAdd_Line1" disabled="disabled" size="30" maxLength="50" value="123 N 1ST ST"/>
我想我必须使用.getelementsbytagname
or .getelementsbyname
,但我不确定如何获取价值。有没有人有任何想法?
我在 HTML 网页中有以下代码,我正在尝试通过 vba 引擎使用 html 对象库从该标记中提取值:
<input name="txtAdd_Line1" disabled="disabled" size="30" maxLength="50" value="123 N 1ST ST"/>
我想我必须使用.getelementsbytagname
or .getelementsbyname
,但我不确定如何获取价值。有没有人有任何想法?
这是一个带有注释的示例,替换为您的实际地址:
Sub Example()
'Declare needed variables
Dim ie, elements
Dim x As Long
'Create IE Applction
Set ie = CreateObject("InternetExplorer.Application")
'Navigate to the website
ie.navigate "C:\test.html" 'Substitute your actual address
'Wait for website to finish loading
Do While ie.ReadyState <> 4
Loop
'Find the elements
Set elements = ie.document.getelementsbyName("txtAdd_Line1")
'Display the value of each returned element
For x = 0 To elements.Length - 1
MsgBox elements(x).Value
Next
'Quit IE
ie.Quit
End Sub
根据您的评论,很可能只是查看文档并没有检索到您想要的树的实际层,试试这个:
Set HTMLDoc = ie.document.frames("MainFrame").document
With HTMLDoc
'This returns an (object) which contains an array of all matching elements
a = .getElementsByName("txtAdd_Line1")
end with
For x = 0 to a.length
msgbox a(x).value
next
您可以使用 CSS 选择器input[name='txtAdd_Line1']
。这表示带有带有 valueinput
属性的标签的元素。name
'txtAdd_Line1'
CSS 选择器:
您使用例如的.querySelector
方法应用 CSS 选择器document
Msgbox ie.document.querySelector("input[name='txtAdd_Line1']").innerText