如何模拟使用Zombie.js按Enter键

时间:2012-08-15 04:19:22

标签: javascript zombie.js

你知道如何用Zombie.js按 Enter 键吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

使用zombie API还没有办法做到这一点。这是因为.fire()方法不允许您传递除事件名称之外的任何事件数据(这对于状态哪个keyCode与该键事件相关联是必要的)。

答案 1 :(得分:0)

WTK是正确的,并且在zombie.js中没有原生方式,但我认为你可以添加一个javascript函数来模拟输入键按下并从zombie.js中触发它,如下所示:

如果您有权访问页面来源,请在页面上添加一项功能以模拟输入键:

function pressEnterKey(elmSelector){
  elmSelector = elmSelector || 'document'
  var e = jQuery.Event("keypress");
  e.which = 13; 
  e.keyCode = 13;
  $(elmSelector).trigger(e);
}

从zombie.js触发它:

browser.evaluate("pressEnterKey()");

如果您无权访问源代码,则可以使用此类内容在页面上注入脚本。请记住使用browser.wait以确保页面准备就绪:

var injectedScript = browser.document.createElement("script");
injectedScript.setAttribute("type","text/javascript");
injectedScript.innerText = '...pressEnterKey function text here...'
browser.body.appendChild(injectedScript);