如何使用 VBA IE 自动化单击 div 下拉菜单

Posted

技术标签:

【中文标题】如何使用 VBA IE 自动化单击 div 下拉菜单【英文标题】:How Do I Click a div dropdown menu using VBA IE automation 【发布时间】:2021-12-24 12:30:14 【问题描述】:

有如下的DIV类,点击底部会创建一个下拉菜单。在浏览器中,您可以使用鼠标单击它,但是使用 VBA 进行 IE 自动化。我尝试了“.click”方法,但不起作用。 我还尝试了带有“onclick”“onchange”“onmouseover”的FireEvent,但没有任何效果。试试看有没有其他解决办法

<div id="add12" style="width: 47px; height: 23px; white-space: nowrap; 
position: static;" 
controltype="DropDown" param="par">
<input name="ct10115" id="ddl" type="hidden" value="E">
<input class="ffb-input" id="input" style="width: 13px;" maxlength="1" 
autocomplete="off">
<span class="ffb-arrow ui-button ui-widget ui-state-default ui-corner-Allui-button-text-icon-primary" id="teste2" role="button" ariadisabled="false" style="position: 
static;">
<span class="ui-button-icon-primary ui-icon ui-icon-triangle-1-s" 
style="left: 0px; top: 0px; margin-top: 0px; position: static;"></span>
<span class="ui-button-text"></span>
</span>
<div class="ffb" id="example11" style="left: 0px; top: 29px; width: 450px; display: none; z- index: 21; opacity: 0.999;">
<div class="content" style="height: auto; max-height: 200px;" scrolltop="0">
  <div class="row" id="A" val="A" std_phase_cd="A" std_nm="A_">
    <table>
      <tbody>
        <tr>
          <td style="width: 45px;">A </td>
          <td>none A </td>
        </tr>
      </tbody>
    </table>
  </div>
  <div class="row" id="B" val="B" std__cd="B" std_nm="1">
    <table>
      <tbody>
        <tr>
          <td style="width: 45px;">B </td>
          <td>none1 </td>
        </tr>
      </tbody>
    </table>
   </div>
 
  </div>
  <div></div>
  </div>
</div>

【问题讨论】:

网站是否公开?如果是,请分享 URL 并描述您单击的按钮。 不是。所以我从网站上发布了 html 代码 【参考方案1】:

好的,我明白了。 所以我在浏览器上使用了开发工具,发现了这个事件,例如点击,鼠标按下等。

然后我使用 IE.dipatchEvent 来触发点击事件。

【讨论】:

以上是关于如何使用 VBA IE 自动化单击 div 下拉菜单的主要内容,如果未能解决你的问题,请参考以下文章

使用VBA excel在iFrame中单击下拉选项

VBA在没有名称/ ID的IE中单击下拉链接

使用VBA单击IE中的按钮

如何使用 VBA 刷新 IE

Jquery下拉菜单单击始终打开

使用In-cell下拉列表中的值自动填充单元格 - VBA