Невозможно заполнить некоторые поля ввода даты для выполнения индивидуального поиска

Я пытаюсь создать скрипт в 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

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

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


person MITHU    schedule 30.10.2019    source источник


Ответы (1)


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

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
person QHarr    schedule 30.10.2019
comment
Хотя макрос работает правильно, результат отличается от того, что я вижу, когда делаю то же самое вручную @QHarr. Когда я пытаюсь вручную, я получаю 22 результатов, тогда как макрос дает мне 28. Как я могу это исправить? Это мой текущий подход. Вот изображение, которое показывает, как в полях выглядят так, как до нажатия на кнопку поиска. Заранее спасибо. - person MITHU; 31.10.2019
comment
Конечно. Я работаю в данный момент, но обновлю как можно скорее для вас (при условии, что я найду решение). - person QHarr; 31.10.2019
comment
Не забыл этого. Вечером посмотрю. - person QHarr; 31.10.2019
comment
Отличная работа. Вы все еще хотите, чтобы я посмотрел на это тогда? - person QHarr; 31.10.2019
comment
Не нужно меня гарантировать. Голосуйте, как обычно. Я посмотрю ваши документы, хотя, похоже, это .rar, поэтому мне нужно будет напомнить себе, как я их открываю. - person QHarr; 06.11.2019
comment
Хорошо, эта ссылка поможет. Спасибо. - person MITHU; 06.11.2019
comment
хорошо.. насколько это срочно? У меня есть еще один ОП, который также попросил продолжение. Это должно быть сегодня или можно подождать потенциально до пятницы/субботы? - person QHarr; 06.11.2019
comment
Привет, QHarr, это не срочно. Дело в том, что я не могу сделать передышку, если не могу распутать ни одну проблему. Я могу сделать то же самое, используя селен, но в случае ИЭ боль продолжается, которую трудно терпеть. Спасибо. - person MITHU; 06.11.2019
comment
Я понимаю. посмотрю сегодня. - person QHarr; 06.11.2019
comment
Будете ли вы рядом, чтобы ответить на вопрос, и я должен открыть чат для нас? - person QHarr; 06.11.2019
comment
Конечно. Извините за мой запоздалый ответ. - person MITHU; 06.11.2019
comment
Удалены некоторые комментарии, чтобы освободить место. Пожалуйста, сообщите мне, когда вы создадите чат, так как это будет мой первый раз, и я ничего не знаю об этом чате. Спасибо. - person MITHU; 06.11.2019
comment
Давайте продолжим обсуждение в чате. - person QHarr; 06.11.2019