Использование VBA для проверки радиообъекта в IE, странное поведение

Я столкнулся с проблемой, которая действительно меня сдерживала.

Моя проблема заключается в следующем: я хочу проверить радиокассету в IE с помощью VBA. Должно быть просто, не так ли? Я проверил на этом сайте решения для этого, и я попытался применить их к моему сценарию. Однако, кажется, я даже не могу получить элемент …

Это фрагмент исходного кода HTML:

<table class="MainTable" width="962px"> <tr> <td class="HistorySections" style="height: 29px; vertical-align: top;"> <span id="lblReportType" class="Panel4" style="display:inline-block;height:15px;width:409px;"> Report Type</span> <table class="MainTable" width="413" style="height: 60px"> <tr> <td style="height: 22px"> <span style="display:inline-block;width:110px;"><input id="optRCV" type="radio" name="RptType" value="optRCV" onclick="javascript:setTimeout('__doPostBack(\'optRCV\',\'\')', 0)" /><label for="optRCV">Receivables</label></span> 

Из того, что я могу собрать, мой радиообъект называется «optRCV».

Я пробовал различный способ проверить радиообъектив, основываясь на том, что я узнал здесь, но он всегда терпел неудачу. С объектом не установлена ​​ошибка на линии, работающей с радиобарабаном. Поэтому я попробовал простую строку, чтобы понять, что случилось.

 MsgBox IE.document.getElementById("optRCV").ID 

Из моего ограниченного понимания VBA и IE это должно было показать идентификатор Radiobutton, верно? Я попробовал что-то подобное, чтобы убедиться, что я правильно его использую

 MsgBox IE.document.getElementsByTagName("TABLE")(0).ID 

В этой строке отображается окно сообщения с идентификатором (ну, идентификатор пуст, но это не вызывает ошибки).

Есть ли какая-то причина, почему я не могу взаимодействовать с радиобарабаном, используя его идентификатор? Интересно отметить, что когда я нажимаю на верхнюю часть веб-страницы и использую View source, он показывает другой исходный код, чем когда я нажимаю на часть веб-страницы, где находится радиообъект.

Поэтому я думаю, что сначала мне нужно сказать IE, чтобы он выглядел в правильной части веб-страницы, но я понятия не имею, как это сделать.

Есть предположения?

 MsgBox IE.document.getElementsByTagName("TABLE")(0).ID 

Ваш код возвращает коллекцию элементов из таблицы, которая включает в себя span, td, tr и т. Д., Поэтому вы не должны собирать первый элемент, если хотите получить радиообъект

Ваш код должен выглядеть так:

 IE.document.getElementById("optRCV").getAttribute("id") 
  • Browser.Document.frames работает на одном компьютере на другом компьютере
  • Как читать текст таблицы IE с помощью VBA?
  • Заполнить веб-форму без кнопки отправки от vba
  • Разрешение отклонено при попытке извлечь данные из таблицы в IE
  • Excel VBA и HTML DOM: не удается щелкнуть вкладку
  • Извлечь текст из IE с помощью Excel VBA
  • Excel SendKeys Взаимодействие с Internet Explorer
  • Взаимодействие с вкладками IE после открытия
  • mshtml.IHTMLElement getAttribute неустойчивое поведение
  • Закрытие IE окон / экземпляров
  • Необходимо автоматизировать IE с выпадающим меню с помощью Excel VBA
  • Interesting Posts

    Как импортировать данные из нескольких листов Excel в GAMS с использованием циклов?

    добавить несколько текстовых полей, связанных с другим источником управления

    VBA копирует строки между книгами

    Соответствующая функция регулярного выражения в excel?

    как записать файл XML в файл excel?

    EXCEL import to sql возвращает NULL для десятичных знаков, когда в типе данных VARCHAR

    Диалоговое окно «Сохранить как» в макросе VBA

    Сравнивая две ячейки и если они равны, сравните две другие разные ячейки и выделите результаты, если не равны

    Как изменить значение ячейки на основе позиции команды в таблице?

    Если Cx равно N, отобразите Ax в столбце D.

    VBA в офисе для MAC

    OpenXML с Excel: как я могу подсчитать общее количество строк, если есть пустая строка?

    Разбиение нескольких критериев в Excel

    Не удалось установить курсивное свойство класса шрифта

    как объединить повторяющиеся строки и суммировать значения 3 столбца в excel

    Давайте будем гением компьютера.