使用PhantomJS键入文本输入

时间:2018-05-07 16:29:55

标签: javascript phantomjs

这是我的代码:

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 :(得分:0)

要在您正在操作的网站的上下文中调用的代码应放在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();
    });
  }
});