You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Chrome扩展API的Input.dispatchKeyEvent中发送删除键?

解决Chrome Debugger API发送删除键无效的问题

要通过chrome.debugger.sendCommand发送删除键,你需要注意两个核心点:发送完整的按键事件序列,以及使用API推荐的参数字段,仅发送单个rawKeyDown事件或使用废弃参数都会导致无效。

可行实现方案

删除键的标准参数配置及完整事件流如下:

// 封装发送删除键的函数
async function dispatchDeleteKey(target) {
  // 模拟硬件按键按下
  await chrome.debugger.sendCommand(target, "Input.dispatchKeyEvent", {
    type: 'rawKeyDown',
    code: 'Delete',
    key: 'Delete',
    keyCode: 46,
    windowsVirtualKeyCode: 46
  });

  // 触发DOM键盘按下事件
  await chrome.debugger.sendCommand(target, "Input.dispatchKeyEvent", {
    type: 'keyDown',
    code: 'Delete',
    key: 'Delete',
    keyCode: 46,
    windowsVirtualKeyCode: 46
  });

  // 触发DOM键盘抬起事件
  await chrome.debugger.sendCommand(target, "Input.dispatchKeyEvent", {
    type: 'keyUp',
    code: 'Delete',
    key: 'Delete',
    keyCode: 46,
    windowsVirtualKeyCode: 46
  });

  // 模拟硬件按键抬起
  await chrome.debugger.sendCommand(target, "Input.dispatchKeyEvent", {
    type: 'rawKeyUp',
    code: 'Delete',
    key: 'Delete',
    keyCode: 46,
    windowsVirtualKeyCode: 46
  });
}

之前代码无效的原因

  • 仅发送rawKeyDown单事件:浏览器需要完整的「按下→抬起」事件序列,才会将其识别为有效按键操作。
  • keyIdentifier已被废弃:Chrome Debugger API的Input.dispatchKeyEvent目前推荐使用code和key字段指定按键,keyIdentifier属于旧版参数,兼容性和有效性已下降。

内容的提问来源于stack exchange,提问作者丶 Limeー来夢 丶

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:40:59