Вы можете получить заголовок, используя getElementsByClassName ("container") (7) , а затем getElementsByClassName ("section__title") (0) . С помощью метода getElementsByClassName () вы создаете коллекцию узлов, которая включает каждый элемент HTML с требуемым классом CSS. Если вы знаете, какой элемент коллекции узлов является тем, который вам нужен, вы можете получить его по его индексу.
Первый индекс коллекции узлов равен 0. В документе HTML вашей страницы 15 элементы класса с CSS class «контейнером» . В восьмом стоит нужное вам значение, так что это элемент с индексом 7. После этого вы можете использовать захваченный элемент в качестве основы для следующего использования getElementsByClassName () . В элементе захваченного контейнера есть только 1 элемент с CSS классом "section__title" , поэтому мы используем индекс 0.
Хитрость заключается в том, чтобы обвести нужное значение, пока вы не сможете легко поднять его. В этом случае во всем документе имеется 37 элементов с CSS классом "section__title" , поэтому я бы go через "контейнер" . (Код отредактирован для получения даты)
'Needed Variables
Dim nodeContainer As Object
'Dim nodeTitle As Object
Dim nodeDate As Object
'...
'Your code
'...
'Grab the needed value with help of the above variables
Set nodeContainer = ie.document.getElementsByClassName("container")(7)
'Set nodeTitle = nodeContainer.getElementsByClassName("section__title")(0)
Set nodeDate = nodeContainer.getElementsByClassName("section__info")(0)
'tblsheet.Cells(n, 1) = Trim(nodeTitle.innertext)
tblsheet.Cells(n, 1) = Trim(nodeDate.innertext)
'...
'More of your code
Чтобы проверить, сколько элементов с указанным классом c CSS находятся в документе, вы можете использовать свойство length коллекция узлов.
'Number of HTML elements with the CSS class "container"
Set nodeContainer = ie.document.getElementsByClassName("container")
MsgBox nodeContainer.Length
'Number of HTML elements with the CSS class "section__title"
Set nodeTitle = ie.document.getElementsByClassName("section__title")
MsgBox nodeTitle.Length
Редактировать: Вы можете сделать то же самое без переменных следующим образом. Но я бы не стал этого делать, потому что вы не можете перехватывать ошибки между объектами, если это необходимо:
tblsheet.Cells(i, 2) = ie.document.getElementsByClassName("container")(7).getElementsByClassName("section__info")(0)