Введите текстовый ввод с использованием PhantomJS - PullRequest
0 голосов
/ 07 мая 2018

Вот мой код:

locationEl.value = "Something automatically typed";
evt = document.createEventObject('KeyboardEvent');
evt.keyCode = 32;
locationEl.fireEvent('onkeypress', evt);

Ошибка

TypeError: undefined is not a constructor (evaluating 'document.createEventObject('KeyboardEvent')')

Что может быть здесь не так или нет, как правильно запускать текстовые события (нажатия клавиш) в элемент ввода.

1 Ответ

0 голосов
/ 07 мая 2018

Код, который вы хотите вызвать в контексте веб-сайта, которым вы манипулируете, должен быть помещен в page.evaluate обработчик функции. Вместо использования KeyboardEvent для имитации нажатия клавиш попробуйте установить значение элемента ввода:

page.open("https://..........", function(status) {
  if (status === "success") {
    page.evaluate(function() {
      document.querySelector('input[id="txtLogin"]').value = "user";
      document.querySelector('input[id="txtPassword"]').value = "pwd";
      document.querySelector('div[id="btnLogin"]').click();
    });
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...