Невозможно ввести некоторые данные даты для выполнения индивидуального поиска - PullRequest
1 голос
/ 30 октября 2019

Я пытаюсь создать скрипт в vba для выбора дат в соответствии с моими предпочтительными input date, как в 03/11/2019 и output date, как в 05/11/2019 для двух полей check-in и chek-out,макрос, который я написал до сих пор, может щелкнуть по этим полям, но не может заполнить входные данные указанными датами.

Адрес веб-сайта

У меня естьпробовал:

Sub FillInTheForm()
    Dim IE As New InternetExplorer, HTML As HTMLDocument
    Dim post As Object, elem As Object, guest As Object
    Dim findbtn As Object, URL$

    URL = "https://www.discoverqatar.qa/"

    With IE
        .Visible = True
        .navigate URL
        While .Busy = True Or .readyState < 4: DoEvents: Wend
        Application.Wait Now + TimeValue("00:00:05")
        Set post = .document.querySelector("[class='rsp_s_checkindate_input'] > #lpPannel_txtFromDate")
        post.Focus
        post.Click

        Application.Wait Now + TimeValue("00:00:05")
        Set elem = .document.querySelector("[class='rsp_s_checkoutdate_input'] > #lpPannel_txtToDate")
        elem.Focus
        elem.Click

        Application.Wait Now + TimeValue("00:00:05")
        Set guest = .document.querySelector("#lblPaxInfo")
        guest.Focus
        guest.Click

        Application.Wait Now + TimeValue("00:00:05")
        Set findbtn = .document.querySelector("input#btnSearch")
        findbtn.Focus
        findbtn.Click
    End With
'    IE.Quit
End Sub

В скрипте есть некоторые преднамеренные задержки, которые я могу опустить позже, определяя любой временной цикл.

Как мне заполнить даты в этих полях, чтобывыполнить индивидуальный поиск?

1 Ответ

2 голосов
/ 31 октября 2019

Просто установите атрибуты значения

Option Explicit
Public Sub SetDates()
    Dim ie As InternetExplorer

    Set ie = New InternetExplorer

    With ie
        .Visible = True
        .Navigate2 "https://www.discoverqatar.qa/"

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

        With .document
            .querySelector("#lpPannel_txtFromDate").Value = "03/11/2019"
            .querySelector("#lpPannel_txtToDate").Value = "05/11/2019"
            .querySelector("#btnSearch").Click
            Stop
        End With
    End With
End Sub
...