我可以点击VBA中的div吗?

时间:2017-09-23 19:25:00

标签: vba internet-explorer browser-automation

我有以下我想点击的HTML代码:

<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永远不会执行。

1 个答案:

答案 0 :(得分:0)

您可以通过vba中的fireEvent执行此操作:

tagx.FireEvent "onclick"

这是在vba中触发事件的方法。

编辑:确定您可以使用innerHTMLinnerText。返回的元素实现了IHTMLElement接口。您可以查看documentation支持哪些属性。