Artanis, прошу помочь с той же самой проблемой.
IE11 (требования системы, которую автоматизирую).
Нужно вызвать синтетическое событие кнопки Enter на текстовом поле.
Это последняя проблема, которую победить не могу уже неделю.
Последняя тщетная попытка такая (все работает без ошибок, возвращает Истину, но кнопка не нажимается):
Яндекс выбран для примера.
IE = Новый COMОбъект("InternetExplorer.Application");
IE.Visible = Истина;
IE.Navigate("https://yandex.ru");
// ... пауза 5 сек для гарантированной загрузки страницы
IE.document.parentWindow.focus(); // Срабатывает! Окно переводится на передний план
IE.Document.parentWindow.execScript("
|var eventObj_down = document.createEvent(""Events"");
|eventObj_down.initEvent(""keydown"", true, true);
|eventObj_down.keyCode = 13;
|eventObj_down.which = 13;
|obj = document.getElementById(""text"");
|obj.focus();
|obj.value = ""123321"";
|obj.dispatchEvent(eventObj_down);
|alert(obj.id); // это контрольный, чтобы убедиться что работаю именно с тем полем, которое мне нужно
|");
Пытался это событие "нажимать" на тегах более высокого уровня, пытался последовательно применять keydown-keypress-keyup.
Всё тщетно. Не работает и всё тут.
Подозреваю что система может контролировать признак IsTrusted.
Но надеюсь что это не так.
Заранее спасибо за любую информацию.