Я пытаюсь перемещаться по веб-сайту и выполнять действия на основе данных из Excel.
Я застрял в передаче значений входному элементу, который автоматически заполняет значение в следующем текстовом поле на основе значения, которое мы передали (например: если я передаю почтовый индекс в целевом поле, тогда название города автоматически заполняется в следующем поле). Я могу передавать значения, но это не запускает JS, который автоматически заполняет значение.
Код целевого окна на веб-странице
<input name = "zipcode" class = "inputBoxRequired" id = "zipcode" onkeypress = "return isNumberKey(event)" onblur = "getZipCity(this.value,'/ProviderPortal')" type = "text" size = "46" maxlength = "5">
Код пробовал
Set Zip = ie_Doc.getElementById("zipcode")
Zip.Value = Zip_Code 'Here value gets updated but associated js is not triggered
ie_Doc.getElementById("zipcode").Focus
даже попробовал пожарное событие
Zip.FireEvent ("onchange")
На веб-странице оно упоминается как событие Onkeypress. Я искал решение в Google, но не могу найти точного.
извините @QHarr, это безопасный веб-портал. Я не могу поделиться URL-адресом, мне нужно войти в систему, чтобы просмотреть страницу, о которой я говорю.
Вы тоже запустили onBlur? И для некоторых из этих вещей они ожидают нажатия клавиш, которые лучше всего имитируются .Focus сначала, а затем .Sendkeys "Text" ..... ужасно, как и sendkeys.
как мне это сделать, пожалуйста, предложите
Zip.FireEvent ("onkeypress"): Zip.FireEvent ("onblur")
Если я использовал sendkeys, да, это сработало для меня, но я не хочу использовать sendkeys для выполнения этого действия, есть ли какой-либо надежный метод для достижения этого, например, мы меняем значение в раскрывающемся списке с помощью fireevent.
Спасибо @QHarr, используя Zip.FireEvent ("onblur"), его активируют, еще раз большое вам спасибо.






Zip.FireEvent ("onkeypress")
Zip.FireEvent ("onblur") '<== Apparently this did the trick
Это показанные события.
Почему за этот ответ не набирают столько же голосов, сколько за полученный вопрос? И снова хорошая находка @QHarr.
Я столкнулся с тем же сценарием, когда решение проверило этот пост, тогда как в моем случае у меня нет тега onblur, поэтому я немного поискал и нашел решение.
Dim event_onChange As Object
Set event_onChange = ie_Doc.createEvent("HTMLEvents")
event_onChange.initEvent "keypress", True, False
Zip.dispatchEvent event_onChange
Это поможет другим, кто сталкивается с такой же проблемой.
Не могли бы вы поделиться URL-адресом?