如何单击具有相似类名和属性的IE按钮

时间:2019-06-27 12:48:50

标签: vba internet-explorer

我目前在尝试单击私有网站上的按钮时遇到了麻烦。我尝试单击的按钮具有相同的属性,因此我无法区分需要单击的按钮。这是我要单击的三个按钮。如您所见,它们相似,只是按钮上的文字不同。如何选择特定按钮并单击它?

<button ng-repeat="punch in $ctrl.nextPunches" ng-disabled="punch.sendingPunch || $ctrl.sendingPunch" type="button" class="btn btn-default ng-binding ng-scope" ng-click="$ctrl.addPunch(punch)" style="">
                        <!-- ngIf: punch.sendingPunch -->
                        Check In
                    </button>

================================================ ==========================

<button ng-repeat="punch in $ctrl.nextPunches" ng-disabled="punch.sendingPunch || $ctrl.sendingPunch" type="button" class="btn btn-default ng-binding ng-scope" ng-click="$ctrl.addPunch(punch)">
                        <!-- ngIf: punch.sendingPunch -->
                        Start Meal
                    </button>

================================================ =========================

<button ng-repeat="punch in $ctrl.nextPunches" ng-disabled="punch.sendingPunch || $ctrl.sendingPunch" type="button" class="btn btn-default ng-binding ng-scope" ng-click="$ctrl.addPunch(punch)">
                        <!-- ngIf: punch.sendingPunch -->
                        Check Out
                    </button>

我尝试使用此功能:

Set HTMLButtons = HTMLDoc.getElementsByTagName("button")
    For Each HTMLbutton In HTMLButtons
       Debug.Print HTMLbutton.getAttribute("ng-click"), HTMLbutton.getAttribute("type"), HTMLbutton.getAttribute("ng-repeat"), HTMLbutton.getAttribute("ng-disabled")
    Next HTMLbutton
    HTMLButtons(2).Click

但是,立即窗口上显示的按钮没有帮助,并且当我使用.Click命令时,它不会单击任何按钮。这些按钮位于网页上的UI元素下。我不确定这是否有帮助,但是如果需要,我绝对可以提供更多的网页代码。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用document.getElementsByClassName方法或document.getElementsByTagName方法来获取按钮(它将返回一个数组),然后遍历该数组并根据 innerText 属性对其进行区分。详细信息,您可以检查this article

此外,您还可以添加一些自定义属性并设置不同的值,然后使用它们来区分它们。