【发布时间】:2019-04-02 20:00:31
【问题描述】:
我无法点击屏幕上的某个元素,它不是一个按钮,而是一个按钮。我已经通过网络检查器成功找到了它(我认为),但我无法弄清楚为什么不工作的原因......以前在我的代码中我使用相同的代码点击“登录”按钮和它工作得很好。这是代码:
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”元素,提前致谢!
HTML:
<div class="btn-group" role="group" style="border:1px solid #ccc"> <a ng-class="{'active': !CrossSegmentConfig.showScratchPad && !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>
【问题讨论】:
-
尝试迭代这个集合
ie.Document.getElementsByClassName("btn-group").getElementsByTagName("a")并寻找 InnerText 或 InnerHTML 等于ScratchPad -
@RyanWildry 感谢您的回复!尝试在 objCollection 行上这样做,但弹出此错误:“对象不接受此属性或方法”
标签: excel vba internet-explorer web-scraping