如何通过phantomjs设置Vue输入?

时间:2017-08-24 07:13:48

标签: javascript vue.js phantomjs

这样的代码:

document.getElementById('email').value = 'login';
document.getElementById('password').value = 'pwd';
document.getElementById('button').click();

不起作用,因为Vue使用v-model值而不是value属性。有没有办法在phantomjs中通过javascript更改输入和模型值?

备注

  1. 为那些输入设置属性v-model无法解决问题 问题

  2. 无法使用CSP-compliant-build,因为我无法从源代码重建项目。

  3. Chrome的任何扩展也无法使用,因为页面是通过phantomjs呈现的

1 个答案:

答案 0 :(得分:1)

页面上的PhantomJS supports sending "real" keypress事件。您需要首先关注必要的字段,然后键入它:

page.evaluate(function(){
    document.getElementById("#email").focus();
});
page.sendEvent('keypress', 'login');

page.evaluate(function(){
    document.getElementById("#password").focus();
});
page.sendEvent('keypress', 'pwd');

page.sendEvent('keypress', page.event.key.Enter);