VBA网络抓内文

时间:2017-05-17 08:50:09

标签: excel vba web

我现在已经尝试了很长一段时间来抓取这个innertext: 我希望将值0606复制到Excel工作表

<TABLE class="group"
<td width="100%" nowrap="" colspan="3">
<input name="pg41_PolicyHolder_FogP_PolicyHolderId_FogP_IdentityQualifier" 
type="HIDDEN" value="CPR">CPR-nr:
<input name="pg41_PolicyHolder_FogP_PolicyHolderId_FogP_IdentityValue" 
type="HIDDEN" value="0606">0606</td>

我尝试过get.attribute,getelementbyclassname,value和innertext,但现在我需要一些新的眼睛。 你们中有谁有个好主意吗?

2 个答案:

答案 0 :(得分:1)

这样的事情应该有效,但是如果没有你的代码,我就不知道你是如何获得HTMLDocument的:

Dim oHTMLDocument As Object
Dim ele As Object

Set oHTMLDocument = ... 'No code provided so I'm unsure how you obtained the HTMLDocument

For Each ele in oHTMLDocument.getElementsByTagName("input")
    If ele.Name = "pg41_PolicyHolder_FogP_PolicyHolderId_FogP_IdentityValue" Then
        Debug.Print ele.innerText
        Exit For
    End If
Next ele

答案 1 :(得分:0)

您可以使用CSS选择器,避免需要循环。

input[name="pg41_PolicyHolder_FogP_PolicyHolderId_FogP_IdentityValue"]

CSS query

Try it

VBA

当您拥有页面时,

.querySelector可以通过HTML文档集访问(方法未在您的问题中显示),但是使用Internet Explorer,例如:

IE.document.querySelector("pg41_PolicyHolder_FogP_PolicyHolderId_FogP_IdentityValue").innerText

更多信息:

HTML DOM querySelector() Method