我正在尝试根据分配ID为665创建一个单击此按钮的宏。
<div class="atlas--ui-grid-cell atlasGrid-cell #modules--execGrid-grid-col-action">
<button class="button small btnViewAction atlas--ui-button" type="button"
data-tracking-value="Action" data-tracking-label="View Action"
data-tracking-category="Reconciliations" data-attribs-childassignmentid="665"
data-attribs-reconciliationid="147794" data-attribs-assignmenttype="A"
data-attribs-assignmentid="665" value="undefined" data-columnname="action">Edit</button></div>
以下是我的尝试:
Sub ClickBtn()
Const M_URL As String = "example.com"
Dim OB_IE As SHDocVw.InternetExplorer
Dim btn As Object
Set OB_IE = New InternetExplorerMedium
OB_IE.Visible = True
OB_IE.Navigate M_URL
Do Until OB_IE.ReadyState = READYSTATE_COMPLETE
Loop
For Each btn In OB_IE.Document.getElementsByClassName("button")
If btn.innerText = "665" Then
btn.Click
Exit For
End If
Next btn
我能够找到类名,但是我无法识别它的唯一标识符。如果我改变如果btn.innerText =&#34; 665&#34;我可以点击这个。 至 btn.innerText =&#34;编辑&#34; 。但是,有多个按钮具有&#34;编辑&#34;作为文本,这就是我试图引用665的原因。我试图弄清楚是否有一种方法可以引用某些元素,例如data-attribs-childassignmentid =&#34; 665&#34;。感谢。
答案 0 :(得分:1)
尝试getAttribute并进行比较。
For Each btn In OB_IE.Document.getElementsByClassName("button")
If btn.getAttribute("data-attribs-assignmentid") = "665" Then
btn.Click
Exit For
End If
Next btn
你说你按类正确地收集了这个集合但不应该是OB_IE.Document.getElementsBy 标记名称(&#34;按钮&#34;)?课程比“按钮”更为复杂。
答案 1 :(得分:1)
尝试:
If btn.GetAttribute("data-attribs-childassignmentid") = 665 Then