VBA单击IE中的元素

问题描述 投票:2回答:1

我无法点击屏幕上的元素,它不是一个按钮,而是像一个按钮。我已经通过网络检查员成功找到了它(我想),但我无法弄清楚为什么不工作的原因...以前在我的代码中我使用相同的代码点击“登录”按钮和它工作得很好。这是代码:

    Set objCollection = IE.document.getelementsbytagname("div")
    For Each elem In objCollection
        If IsObject(IE.document.getElementsByClassName("btn-group")) Then 'Scratchpad button clicking
            If IsObject(IE.document.getElementsByClassName("pull-left fang-button fang-button-subtle no-margin ng-binding")) Then
                Debug.Print "found it"
                elem.Click
                Exit For
            End If
        End If
    Next elem

我正在尝试点击页面顶部的元素“Scratchpad”,as the image shows.先谢谢!

HTML:

<div class="btn-group" role="group" style="border:1px solid #ccc"> <a ng-class="{'active': !CrossSegmentConfig.showScratchPad &amp;&amp; !CrossSegmentConfig.showGraph}" class="pull-left fang-button fang-button-subtle no-margin ng-binding active" ng-click="CrossSegmentConfig.showScratchPad=false; CrossSegmentConfig.showGraph=false;" style=""> <i class="fa fa-align-left"></i> Parameters </a> <a ng-class="{'active': CrossSegmentConfig.showScratchPad}" class="pull-left fang-button fang-button-subtle no-margin ng-binding" ng-click="CrossSegmentConfig.toggleScratchPad()" style=""> <i class="fa fa fa-columns"></i> Scratchpad </a> <a ng-class="{'active': CrossSegmentConfig.showGraph}" class="pull-left fang-button fang-button-subtle no-margin ng-binding" ng-click="CrossSegmentConfig.toggleGraph()"> <i class="fa fa-line-chart"></i> Plot </a> </div>
excel vba internet-explorer web-scraping
1个回答
1
投票

这是一个Angular JS指令。尝试以下两种方法之一

ie.document.querySelector("[ng-click*=toggleScratchPad]").click

ie.document.parentWindow.execScript "document.querySelector('[ng-click*=toggleScratchPad]').click();"
© www.soinside.com 2019 - 2024. All rights reserved.