基于Chrome Extension API实现触摸转鼠标事件的移动端测试元素拾取咨询
相关API指引
基础权限与注册API
- manifest.json 中需声明
permissions: ["devtools"]才可调用所有DevTools相关扩展API,Manifest V2/V3均兼容该配置 chrome.devtools.panels.create():用于注册嵌入开发者控制台的自定义面板,该API仅可在DevTools专属页面上下文调用,禁止在内容脚本、后台Service Worker中使用
原生元素拾取器调用API
DevToolsAPI.enterInspectElementMode():在DevTools上下文中执行该方法可直接唤醒控制台自带的元素拾取功能chrome.devtools.panels.elements.onSelectionChanged:监听元素选择变更事件,用户通过原生拾取器选中元素后自动触发,可直接获取当前选中元素的上下文信息
自定义拾取逻辑实现相关API
chrome.devtools.inspectedWindow.eval():向被调试页面上下文注入执行代码,添加配置项useContentScriptContext: true可避免和页面原有逻辑冲突,可通过该API注入自定义mousemove、click等MouseEvent监听逻辑,响应式移动端模拟模式下MouseEvent可正常触发,无需切换自定义设备chrome.runtime.sendMessage()/chrome.runtime.onMessage.addListener():实现DevTools面板、内容脚本、后台服务的跨上下文消息传递,可将拾取到的元素相关信息传递到自定义面板做后续处理
注意事项
- 自定义鼠标事件监听绑定时可开启
capture: true配置,优先捕获事件避免被页面原有逻辑拦截 - 元素悬停高亮建议通过注入全屏fixed定位的蒙版元素实现,不要直接修改原页面DOM的样式,避免影响页面原生渲染效果
内容的提问来源于stack exchange,提问作者None
相关产品推荐
相关产品推荐

