Показать сообщение отдельно
  #5 (permalink)  
Старый 12.07.2019, 16:34
Новичок на форуме
Отправить личное сообщение для alf2006x Посмотреть профиль Найти все сообщения от alf2006x
 
Регистрация: 12.07.2019
Сообщений: 2

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.
Но надеюсь что это не так.


Заранее спасибо за любую информацию.
Ответить с цитированием