Тема: VBA: Доступ к элементу div страницы на html посредством VBA
Добрый день!
В html коде есть элемент div, к которому необходимо получить доступ посредством VBA
<div id="tender-card-content">
<div id="report-script" class="tender-card-title">
<h1 class="tct-tender-number">
Закупка <span class="copy-script tender-number-copy">32312204305</span>
</h1>
<div class="tct-tender-text">[b]Содержимое, которое необходимо скопировать с html страницы через VBA[/b]</div>
...
Получается только через getElementsByTagName("div")(номер элемента).innerText, но номер элемента div может меняться динамически и такой вариант не подходит.
Привожу код, в котором попробовал разные варианты доступа с указанием сообщения о ошибке в комментариях.
Sub test()
sURL = "https://synapsenet.ru/zakupki/fz223/32312204305%231--sanktpeterburg-vipolnenie-rabot-po-obsledovaniyu-stroitelnih"
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
With oXMLHTTP
.Open "GET", sURL, False
.send
txt = .responseText
Set pDoc = CreateObject("HTMLFile")
pDoc.body.innerHTML = txt
.Open "GET", sURL, False: .send
getHTTP = StrConv(.responseBody, vbUnicode)
MsgBox pDoc.getElementsByTagName("div")(номер элемента).innerText
'Работает.'
MsgBox getHTTP.getElementsByTagName("div")(номер элемента).innerText
'Сообщение об ошибке Object required.'
pDoc.getElementsByClassName ("tct-tender-text")
'Сообщение об ошибке Object doesn't support this property or method.'
getHTTP.getElementsByClassName ("tct-tender-text")
'Сообщение об ошибке Object required.'
pDoc.querySelectorAll ("tct-tender-text")
'Сообщение об ошибке Object doesn't support this property or method.'
getHTTP.querySelectorAll ("tct-tender-text")
'Сообщение об ошибке Object required.'
End With
Set oXMLHTTP = Nothing
End Sub
Как нужно исправить код, чтобы получить доступ к нужному элементу?