Вот веб-сайт, на который я хочу ввести данные: веб-сайт В разделе "Из города / аэропорта"
И я нашел следующие элементы HTML для этого поля ввода:
<input name="frm1" class="frm1 col-sm-12 ui-autocomplete-input" autocomplete="off">
Ниже приведен мой VBA-код:
Sub Data_Scrap()
Dim IE As SHDocVw.InternetExplorer, HTMLDoc As MSHTML.HTMLDocument, HTMLInput As MSHTML.IHTMLElementCollection, x As MSHTML.IHTMLElement
Set IE = New SHDocVw.InternetExplorer
IE.Visible = True
IE.navigate "https://www.icao.int/environmental-protection/Carbonoffset/Pages/default.aspx"
'Wait until the website is loaded
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop
Set HTMLDoc = IE.document
Set HTMLInput = HTMLDoc.getElementsByTagName("input")
For Each x In HTMLInput
If x.getAttribute("name") = "frm1" Then
x.innerText = "hkg"
Exit For
End If
Next
End Sub
Я также пробовал что-то более простое, например HTMLDoc.getElementsByTagName("frm1")(0).value = "hkg"
, но выходит с ошибкой:
Переменная объекта или переменная блока не установлена