Нажатие кнопки Excel VBA в Internet Explorer с уникальным именем элемента - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь создать макрос, который нажимает эту кнопку на основе идентификатора назначения 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

Я могучтобы найти имя класса, но я не могу заставить его распознать уникальный идентификатор 665. Я могу щелкнуть по нему, если я изменю If btn.innerText = "665" на If btn.innerText= "Редактировать" .Однако есть несколько кнопок, которые имеют «редактировать» в качестве текста, поэтому я пытаюсь сослаться на 665. Я пытаюсь выяснить, есть ли способ ссылаться на определенные элементы, такие как data-attribs-childassignmentid ="665".Спасибо.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Попробуйте:

  If btn.GetAttribute("data-attribs-childassignmentid") = 665 Then
0 голосов
/ 15 мая 2018

Попробуйте 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 Tag Name ("button")? Класс более сложен, чем просто кнопка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...