Я пытаюсь получить доступ ко всей информации в следующей таблице:
https://www.tradingview.com/markets/stocks-usa/sectorandindustry-industry/biotechnology/
, используя следующий код VBA:
Sub GetInfo()
Dim XMLPage As New MSXML2.XMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim HTMLTable, HTMLRow, HTMLCell, button As MSHTML.IHTMLElement
XMLPage.Open "GET", "https://www.tradingview.com/markets/stocks-usa/sectorandindustry-industry/biotechnology/", False
XMLPage.send
HTMLDoc.body.innerHTML = XMLPage.responseText
Set HTMLTable = HTMLDoc.getElementsByTagName("tr")
For Each HTMLRow In HTMLTable
For Each HTMLCell In HTMLRow.Children
Debug.Print HTMLCell.innerText
Next HTMLCell
Next HTMLRow
End Sub
Это отлично работает, но не может получить все на странице. Внизу страницы есть кнопка, которую вы должны нажать, чтобы «Загрузить больше» информации. Я думаю, что кнопка определена ниже:
<div class="tv-load-more tv-load-more--screener js-screener-load-more">
<span class="tv-load-more__btn">Load More</span>
Я пробовал несколько разных методов, но пока не добился успеха. Есть ли способ автоматизировать VBA, чтобы продолжать нажимать эту кнопку, пока все не загрузится, а затем запустить приведенный выше код VBA?