Я работаю в vba и пытаюсь заполнить форму на этом сайте и получить вывод Ссылка здесь
При попытке заполнить поле ввода из / в аэропорт возникает проблема. Это то, что я пробовал: эта функция вызывается для заполнения из / в поля аэропорта
Function enter_get_name(ByVal iedoc As HTMLDocument, _
ByVal input_box As String, ByVal iata As String, _
ByVal id As String, ByRef str As Variant) As Boolean
Dim noopt As Integer ' length of string that appear on drop down menu if no option available
noopt = Len("If your destination does not appear among the cities listed in the destination box")
iedoc.getElementsByName(input_box)(0).innerText = iata ' enter string
Set drop_down = iedoc.getElementById(id).getElementsByTagName("li")
Do While drop_down.Length = 0: DoEvents: Loop ' wait for the drop down menu to come up
If Len(drop_down(0).innerText) = noopt Then ' if option do not exist
enter_get_name = False ' return value
Exit Function ' exit
Else
For Each Name In drop_down ' loop all options of drop down menu
' if found a exact same IATA code, click that html element
str = Mid(Name.innerText, Len(Name.innerText) - 4, 3)
If StrComp(iata, str, 1) = 0 Then
Name.Click
Exit For
End If
Next
enter_get_name = True
End If
End Function
Итак, я попытался зациклить все опции, доступные в раскрывающемся списке, найти этот элемент и щелкнуть по нему. Код может успешно найти элемент, но когда я пытаюсь щелкнуть этот элемент, иногда он не работает. Например, у меня есть рейс От HKG до SIN в качестве ввода.
Есть 2 варианта для аэропорта прибытия (TO): HEL и SIN, он как-то нажал HEL. Тем не менее, если я делаю это наоборот, то есть: от SIN до HKG, нет проблем с выбором SIN с 10+ опциями. Как я могу решить это? Любая помощь будет оценена.