Мне нужно очистить внутренний сайт компании, чтобы извлечь некоторые скрытые данные. Чтобы сделать это, мне нужно нажать несколько кнопок для доступа к каждой записи. У меня проблемы с тем, чтобы VBA нажал одну из кнопок на рассматриваемой странице.
Это кнопка, которую я пытаюсь нажать:
<button type="button" tabindex="0" class="StandardButton OptionsButton" value="Options ▼" id="DDMenuaB823456B43A2C4C1AABF2" onclick="lastMenuEntered='823456B43A2C4C1AABF2';enterMenu(this,'823456B43A2C4C1AABF2','','1110111');this.focus();" onblur="{setTimeout(function() {leaveMenu(this,'823456B43A2C4C1AABF2');},200)}"> <span style="color:#0069A5;text-justify:distribute-all-lines;" class="fa fa-lg fa-cog"></span><span class="OptionsText">Options ▼</span></button>
Я пытаюсь получить к нему доступ через class = "StandardButton OptionsButton", но безуспешно.
Я работал над этим пару дней (новичок в VBA). Я попытался выполнить следующие действия: Нажатие кнопки в Internet Explorer с использованием VBA (getElementsByClassName) , а также различные другие решения, но безуспешно.
Dim rowsonpage As Integer 'integer variable we'll use as a counter
Dim optbtn As HTMLInputButtonElement
For rowsonpage = 1 To 20 'loop 20 rows per page
'click options
Set optbtn = objIE.document.getElementsByClassName("StandardButton OptionsButton")(1)
optbtn.Click
For Each btn In optbtn
btn.Click
Exit For
Next
Next rowsonpage
Я получаю ошибку времени выполнения 91 с этим кодом.
Я тоже пробовал с этим (и многими другими перестановками):
For Each aInput In objIE.document.getElementsByClassName("StandardButton OptionsButton")
If aInput.getAttribute("value") = "Options" Then
aInput.Click
Exit For
End If
Next aInput
Который не выдает никаких ошибок, но не нажимает кнопку.
Любая помощь с благодарностью.
Редактировать :
Я забыл упомянуть, что мне нужно будет перебирать 20 из этих элементов на странице, иногда около 700 страниц - каждый с различным атрибутом id, но с одинаковыми именами классов - следовательно, желая выбирать по классу, а не по id. Есть еще идеи?
Спасибо за комментарии.