VBA в html, функция события onclick с атрибутами динамического элемента
Я пытаюсь автоматизировать заполнение веб-формы во внутрифирменной сети в Excel с помощью IE. Мой предыдущий вопрос был нацелен на динамический идентификатор элемента, который был решен благодаря SIM (спасибо еще раз!). К сожалению, я не могу использовать тот же метод для продолжения; с помощью приведенного ниже кода я могу открыть URL-адрес и щелкнуть динамический элемент, который откроет новое окно, но там мне не повезло в определении атрибутов / элементов, которые нужно щелкнуть.
Sub Route4b()
Dim ie As New InternetExplorer, Html As HTMLDocument
With ie
.Visible = True
.navigate "https://company.application.com/home/index.cfm?Tab=home"
While .Busy = True Or .readyState < 4: DoEvents: Wend
Set Html = .document
End With
For Each elem In Html.getElementsByClassName("clickable")
If InStr(elem.innerText, "Inspection") > 0 Then elem.Click: Exit For
Next elem
While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE
DoEvents
Wend
For Each elem In Html.getElementsByClassName("inspection-font clickable")
If InStr(elem.innerText, "EU KSR - Dock") > 0 Then elem.Click: Exit For
Next elem
While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE
DoEvents
Wend
End Sub
Код работает без сообщения об ошибке, он просто не выполняет 2-й щелчок по внутреннему тексту.
Ниже также html-код, единственными уникальными атрибутами являются заголовок span и Innertext, с классом span, совместно используемым для ряда различных "заголовков span" (скажем, 10).
Динамическая ссылка
<input name="tblheaderupcoming" id="tblheaderupcoming" type="hidden" value="["","Checklist","Assigned To","Due Date","Frequency",""]"/>
<div class="card table-card data-table mb-0">
<div class="card-header bg-secondary pointer rendered-toggle card-status card-status-upcoming" aria-expanded="true" href="#cardupcoming" data-togle="collapse" data-id="upcoming" data-priority="2">...</div>
<div class="card-block dashboard-container collapse show" id="cardupcoming" aria-expanded="true">...</div>
<div class="dataTables_wrapper dt-bootstrap4 no-footer" id="tableupcoming_wrapper">
<div class="col-xs-6 px-2">...</div>
<div class="col-xs-6 px-2">...</div>
<table class="table table-bordered table-hover table-striped no-more-tables table-upcoming dataTable no-footer rendered-nmt" id="tableupcoming" role="grid" aria-describedby="tableupcoming_info">...</table>
<thead>
<tr class="bg-active" role="row">...</tr>
</thead>
<tbody>
<tr class="odd" role="row">
<td data/title=" "></td>
<td data-title="Checklist">
<div>
<span title="EU KSR - Dock Audit Type:OPS Calibration - KSR" class="inspection-font clickable" onclick="window.open('goto_pit.cfm?samid=3053960&siteid=882&thestatus=upcoming');">EU KSR - Dock</span>
Буду очень признателен за любую помощь, я ищу столько, сколько смогу, но не нашел ничего, к чему мог бы обратиться. И извиняясь за неспособность выразить это несколько яснее, я в лучшем случае любитель. Большое спасибо!