VBA не может получить элемент и входные данные - PullRequest
0 голосов
/ 18 апреля 2020

Вот веб-сайт, на который я хочу ввести данные: веб-сайт В разделе "Из города / аэропорта"

И я нашел следующие элементы 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", но выходит с ошибкой:

Переменная объекта или переменная блока не установлена ​​

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