我可以点击VBA中的div吗?
问题描述:
我有我想请单击下面的HTML代码:我可以点击VBA中的div吗?
<div class="ListItems" style="top: 0px;">
<div class="sf-element-list-box-item sfpc-selected" style="top: 0px;
height: 15px; line-height: 15px; width: 192px;" title="(All) 7 values">
(All) 7 values</div>
<div class="sf-element-list-box-item" style="top: 15px; height: 15px;
line-height: 15px; width: 192px;" title="A">A</div>
<div class="sf-element-list-box-item" style="top: 30px; height: 15px;
line-height: 15px; width: 192px;" title="C">C</div>
<div class="sf-element-list-box-item" style="top: 45px; height: 15px;
line-height: 15px; width: 192px;" title="D">D</div>
我现在想点击列表项D.我在几个不同的方法都试过了,但我不知道如果我实际上可以点击一个div。
我想这第一:
Set tags = IE.Document.getElementsByTagName("div")
For Each tagx In tags
If tagx.innerHTML = "D" Then
tagx.Click
End If
Next
由于没有工作,我尝试这样做:
For Each x In IE.Document.getElementsByTagName("div")
If x.Title = "D" Then
x.parentElement.Click
Exit For
End If
Next
我发现,我无法使用.title伪,.InnerText,或.innerHTML。有谁知道一种方法,我可以点击或选择列表项,如果它是一个div?我不相信我正在进入IF语句,这意味着.click永远不会执行。
答
您可以在VBA做到这一点在fireEvent
:
tagx.FireEvent "onclick"
这是触发VBA事件的方式。
编辑:并确定您可以使用innerHTML
和innerText
。返回的元素实现IHTMLElement接口。你可以看看documentation支持哪些属性。
执行“点击”行吗?你需要做一些调试,并在这里给我们更多的信息。 –
@TimWilliams点击行会执行,但由于某些原因,它实际上并不工作。 – jameslennberg
您是否可以使用鼠标直接在页面上单击“D”,或者您是否必须首先单击其他内容?如果没有其他页面的背景,很难提出任何建议 –