如何正确地将普通的浏览器键盘事件映射到phantomjs

时间:2016-02-18 06:02:47

标签: phantomjs

我尝试录制用户键盘事件并在phantomjs

中重播

客户端页面(即firefox浏览器)代码如下:

document.onkeydown=function(e){
    sendToPhantom( e.which)  //this will send browser key code to phantomjs
}

in phantomjs

....
function keyFromClient(which){
    var c = which
    if (c==8) {
        c = page.event.key.Backspace //0x01000003 in Qt
    } else if (c==13) {
        c = page.event.key.Enter   //0x01000004 in Qt
    } else {
        c = String.fromCharCode(c)
    }
    page.sendEvent('keydown', c)
}

如您所见,它必须从e.which转换为page.event.key以获取某些特殊键,例如BackSpaceEnter等,{{3 }}

问题

如何正确地将所有e.which转换为page.event.key?有这么多的可能性,它必须是一些标准的方法,任何人都知道吗?

0 个答案:

没有答案