Проблема с вводом значения в поле «Вход» - PullRequest
0 голосов
/ 10 июня 2019

Я сталкиваюсь со странной проблемой при попытке автоматизировать вставку данных на веб-сайт.В частности, одно input поле, вот HTML-фрагмент этого сайта:

<input class="maskAcctNbr" id="masked_consumer" type="text" size="20" maxlength="20" value="" autocomplete="off">

Когда я вставлю значение в это поле, используя этот код, и нажму на кнопку «Поиск»:

Dim SE As MSHTML.IHTMLElement
Set SE = HTMLDoc.getElementById("masked_consumer")
SE.Value = "574844"

Страница сообщает мне, что мне не хватает информации.

После того, как я вручную нажму на это поле и введу это число, базовый html-код изменится на:

<input class="maskAcctNbr" id="masked_consumer" type="text" size="20" maxlength="20" value="" autocomplete="off" real="574844">

Новыйreal свойство обнаруживается.Любые идеи, как я могу решить это с помощью VBA?Я пытался, click и focus, и ничего не получалось, пока я не использую мышь, чтобы щелкнуть по этому полю и вручную ввести это число.

Спасибо!

Ответы [ 2 ]

1 голос
/ 10 июня 2019

Попробуйте использовать приведенный ниже пример, который может помочь вам решить проблему.

Пример:

Sub demo()

Dim IE As Object

Set IE = CreateObject("InternetExplorer.Application")

IE.navigate "http://example.com"

IE.Visible = True

While IE.Busy

DoEvents

Wend

Set TrackID = IE.document.getElementById("masked_consumer")
TrackID.Focus

Application.SendKeys ("(574844)"), True
Application.SendKeys ("{ENTER}"), True


End Sub
0 голосов
/ 11 июня 2019

Однажды я столкнулся с подобной проблемой, и помогла активировать событие .OnClick этого поля. В вашем случае это было бы SE.onclick перед установкой значения. Также могут быть некоторые другие события, такие как OnChange, которые могут привести к ошибкам «данные не введены», если они не инициированы. Удачи:)

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