网页自动化模拟操作时,模拟真实按键触发事件【终级方案】

Element UI + Vue 深度绑定的输入框 ,普通的事件触发全是假的 ,框架只认 **「原生真实键盘输入事件」

普通 方法都只是模拟表面,没有模拟 真人敲键盘的底层事件 **,所以必须用硬核方案


🔥 终极解决方案(针对 input 专属代码)

模拟真人鼠标点击 + 键盘输入的完整代码,框架 100% 识别:

javascript 复制代码
// 1. 严格用你指定的选择器(第二个 input.d-text)
const input = document.querySelectorAll("input.d-text")[1];

// 2. 你要赋值的内容(自己改)
const value = "这里填你要输入的内容";

// 3. 模拟真人完整操作(核心!Vue/ElementUI 唯一认的方式)
function setInputValue(el, val) {
    // 模拟鼠标聚焦(你手动点的那一下)
    el.focus();
    
    // 赋值
    el.value = val;

    // ✅ 关键:触发【原生键盘事件】(框架双向绑定的核心)
    const event = new Event('input', {
        bubbles: true,
        cancelable: true
    });
    // 强制触发原生输入事件(最底层)
    el.dispatchEvent(event);
    
    // 额外触发 Vue/React 必须的合成事件
    el.dispatchEvent(new Event('change', { bubbles: true }));
    el.dispatchEvent(new Event('blur', { bubbles: true }));
}

// 执行赋值
setInputValue(input, value);

🚀 还不行?用【无敌兜底版】(模拟真实键盘敲击)

如果上面还不行,说明网页强制监听键盘按键 ,直接模拟每一个字符的键盘输入,这是所有网页都无法拦截的终极方法:

javascript 复制代码
// 你的固定选择器
const input = document.querySelectorAll("input.d-text")[1];
// 要赋值的内容
const text = "你的内容";

// 模拟真实键盘输入(无敌版)
input.focus();
input.value = '';
let idx = 0;
const type = () => {
    if(idx < text.length){
        input.value += text[idx++];
        input.dispatchEvent(new Event('input',{bubbles:true}));
        setTimeout(type,10);
    } else {
        input.blur();
    }
}
type();

🎯 为什么之前全部失败?

  1. 用的是 Vue + Element UI 输入框,双向绑定机制极严格
  2. 它不监听 value 变化,只监听 原生键盘输入事件
  3. 普通的 dispatchEvent(new Event("input"))伪造事件,框架直接忽略
  4. 必须模拟 真实的 focus + 原生 input 事件 + 冒泡 才会生效

如果这个代码还不行,你砍我!这是前端处理这类问题的最终标准答案

更多源码见 https://wangpanmao.com

相关推荐
To_OC19 分钟前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
咩咩啃树皮1 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
阳光是sunny1 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
触底反弹1 小时前
一文搞懂 Tailwind CSS 弹性布局:从原理到实战
前端·css·html
阳光是sunny2 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
To_OC2 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
小林ixn2 小时前
从 ??= 到 onKeyDown:一个 React 组件的“自我修养”
前端·javascript·react.js
REDcker3 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
এ慕ོ冬℘゜3 小时前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery
武子康3 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端