Использование getElementsByTagName в vba возвращает объектную переменную 91 ошибки времени выполнения или с не установленной блочной переменной

Представьте себе следующий HTML:

            <div class = "result-row">
                <div class = "row">
                    <div class = "col-xs-5 result-score-padding">
                        <div class = "result-score" align = "right">Portugal</div>
                    </div>
                    <div class = "col-xs-2 result-score-padding" align = "center">
                        <div class = "result-score">2 - 2</div>
                    </div>
                    <div class = "col-xs-5 result-score-padding">
                        <div class = "result-score">Spain</div>
                    </div>
                </div>
            </div>

В приведенном ниже коде я использую getElementsByClassName в VBA для получения innerText из элементов:

Dim IE As New InternetExplorer
Dim doc As HTMLDocument
Dim i As Integer
Dim game As String

IE.navigate "https://www.example.com"
While IE.Busy Or IE.ReadyState <> 4: DoEvents: Wend
Set doc = IE.document
For i=0 To 2
    game = Trim(doc.getElementsByClassName("result-score")(i).innerText)
Next i

Однако этот код не возвращает желаемый результат, поскольку он возвращает объектную переменную ошибки времени выполнения 91 или с неустановленной блочной переменной.

Я хочу извлечь "Португалия 2-2 Испания"

URL-адрес: http://www.stoiximan.gr/virtuals/

example.com не имеет Portugal 2 - 2 Spain.
Vityata 02.05.2018 10:12

Вы должны иметь возможность вернуть Португалию, 2: 2, Испанию. Есть ли реальный URL-адрес, которым можно поделиться?

QHarr 02.05.2018 10:51

@Vityata, это не настоящий URL. фактический URL - stoiximan.gr/virtuals

Spyros Psa 02.05.2018 10:59

Я не смог найти Portugal 2 - 2 Spain на этой странице, используя URL-адрес, который вы указали в комментарии. Постарайтесь уточнить, как заполнить / найти этот вывод вручную @Spyros Psa. Спасибо.

SIM 02.05.2018 15:29

@SIM имена команд меняются все время, это был просто пример, структура URL-адреса всегда такая же, как имя команды и счет.

Spyros Psa 11.05.2018 16:26

Если вы показываете больше HTML, возможно, есть родительский фрейм / iframe, с которым нужно иметь дело, или вам может просто потребоваться более длительное ожидание, прежде чем пытаться получить доступ.

QHarr 02.10.2018 10:11
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
6
421
1

Ответы 1

Вы перезаписывать ваша "игровая" переменная.

Тогда вы потеряете предыдущее содержимое.

Проблема не в том, что мой код впервые достигает переменной игры, он возвращает «ошибка времени выполнения 91 объектная переменная или с не установленной блочной переменной»

Spyros Psa 11.05.2018 16:25

Другие вопросы по теме