Выберите элемент в раскрывающемся списке автозаполнения в html с помощью vba - PullRequest
0 голосов
/ 27 апреля 2020

В настоящее время я работаю над поиском в Интернете, и у меня возникла проблема с выбором определенного элемента c в раскрывающемся списке тегов <li>. Ниже приведен код VBA для выбора:

drop_down = iedoc.getElementById(ui-id-2).getElementsByTagName("li")

    For Each Name In drop_down       ' loop all options of drop down menu
        str = Mid(Name.innerText, Len(Name.innerText) - 4, 3)
        If StrComp(iata, str, 1) = 0 Then      'these two lines are used to match what i want (iata) and what is given in the list (str)
           Name.Click     

Все работает хорошо, за исключением того, что он всегда щелкает первый элемент в раскрывающемся списке, ниже элемент html для справки:

<ul tabindex="0" class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content" id="ui-id-2" style="left: 1437px; top: 223.14px; width: 280px; display: none;">
<li tabindex="-1" class="ui-menu-item" id="ui-id-178">HELSINKI,FINL                                              (HEL       )</li>
<li tabindex="-1" class="ui-menu-item" id="ui-id-179">SINGAPORE,SING                                              (SIN       )</li></ul>
</ul>

Допустим, Я хочу выбрать "Сингапур ...", однако мой текущий vba может выбрать только "ХЕЛЬСИНКИ ...". И я уверен, что как For l oop, так и оператор if работают нормально.

Спасибо за любую помощь

1 Ответ

0 голосов
/ 01 мая 2020

Если вы знаете, что код аэропорта кажется, что вы можете сделать что-то вроде

ie.document.querySelector(".to1").value = "SIN"

и

ie.document.querySelector(".frm1").value = 'HKG'

Может потребоваться выполнить через javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...