javascript - 如何通过 phantomjs 设置 Vue 输入?

标签 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-driven-build,因为我无法从源代码重建项目。

  3. 任何 Chrome 扩展程序也无法使用,因为页面是通过 phantomjs 渲染的

最佳答案

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);

关于javascript - 如何通过 phantomjs 设置 Vue 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45855220/

相关文章:

javascript - 我想在我的可移动 div 内创建一个像窗口一样的 div

vue.js - 有没有其他方法可以将数据从子组件传递到嵌套父组件(向上 6 层),而不使用 vuejs 中的发出和存储?

java - 与最新版本 Selenium Webdriver 和 PhantomJs 的兼容性问题

javascript - 抓取视频时长 - casperjs

javascript - 使用 Javascript 更改 Font Awesome 图标 - 展开/折叠 Accordion

javascript - 打开新选项卡时使用 Javascript 刷新当前打开的选项卡

javascript - 如何将图像附加到本地存储?

javascript - Vue forEach 计算

javascript - Vue.js:未捕获( promise )TypeError:$set 不是函数

javascript - 如何让 selenium-webdriver 忽略 Firefox 和 PhantomJS 中的 SSL 错误?