Выберите значение из выпадающего на странице IE через VBA - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь выбрать значение из раскрывающегося списка на странице IE.

Я перепробовал много методов.Он ничего не делает.

Исходный код выпадающего списка:
source code of the drop down

Коды, которые я пытался выбрать, чтобы выбрать значение с помощью "EVR"(в раскрывающемся списке есть только одно значение):

Application.Wait Now + #12:00:06 AM#

IE.Visible = True

'IE.document.getElementById("fileOnlineReturnTaxType").Value = "EVR"

'IE.document.getElementsByName("taxType").Value = "84"

   'Set oSelect = IE.document.getElementById("fileOnlineReturnTaxType")
    '    oSelect.Focus
     '   oSelect.selectedIndex = 1
      '  oSelect.FireEvent "onchange"

 'IE.document.getElementById("fileOnlineReturnTaxType").Click


  'Set Link3 = IE.document.getElementsByTagName("span")

   ' For Each t In Link3
          ' If t.innerText = "Select a tax type..." Then
          ' MsgBox (t.innerText)
           '   t.Click
            '  Exit For
           'End If
          'Next t

1 Ответ

0 голосов
/ 27 февраля 2019

Попробуйте добавить событие изменения и запустить это

Option Explicit

Public Sub MakeSelection()
    Dim ie As New InternetExplorer
    With ie
        .Visible = True
        .Navigate2 "url"

        While .Busy Or .readyState < 4: DoEvents: Wend

        Dim event_onChange As Object
        Set event_onChange = .document.createEvent("HTMLEvents")
        event_onChange.initEvent "change", True, False

        With .document.querySelector("#fileOnlineReturnTaxType")
            .selectedIndex = 1
            .FireEvent "onchange"
            .dispatchEvent event_onChange
        End With
        Stop
        .Quit
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...