我一直在搜索整个论坛,msdn和专业教程,但我无法找到VBA的答案:
如何使getElementById
在访问VBA模块中工作,其中要查找的ID是动态的?
让我们看一下html代码:
<DIV id=rowToolTipContainer>
<DIV class=contactsCard id=resultsTooltip1122286Contents style="DISPLAY: none">
<TABLE class="shadow-box tooltip">
<TBODY>
我是如何找到它的:
Dim ResultDIV As HTMLDivElement
Set ResultDIV = HTMLDoc.getElementById("resultsTooltip*")
让我说返回的html具有不同的id(数字更改),具体取决于每个结果,因此每个DIV的ID始终为:
id=resultsTooltipxxxxxxxContents
其中xxxxxxx
总是不同的数字
任何帮助都将受到高度赞赏。
答案 0 :(得分:4)
尝试类似这样的事情:
Dim ContainerDiv As HTMLDivElement, ResultDIV As HTMLDivElement
Set ContainerDiv = HTMLDoc.getElementById("rowToolTipContainer")
For Each ResultDIV In ContainerDiv.GetElementsByTagName("div")
If ResultDIV.ID Like "resultsTooltip*Contents" Then
'' What do you want to do here?
Exit For
End If
Next
答案 1 :(得分:0)
<div>
,使用ID
测试其Like
属性。