控制台已连通且执行环境正确:输入 document.title 返回页面标题;否则需确保页面加载完成或切换主框架上下文。

你想在米侠浏览器里快速验证网页逻辑、临时修改状态、捕获用户交互或绕过前端限制——这些操作不能靠刷新重试,必须通过控制台实时执行调试命令,且每条命令的上下文、执行时机和目标元素都必须精准匹配当前页面状态。
确保控制台已连通并处于正确上下文
按 F12 打开开发者工具 → 切换到 Console 标签页 → 输入 document.title 并回车。若返回当前页面标题(如“百度一下,你就知道”),说明控制台已连通且执行环境正确;【若返回 undefined 或报错 ReferenceError,说明页面尚未完成加载,或你正处在 iframe 子框架中,需先点击 Elements 面板左上角的“选择器”图标 → 单击页面主区域,再回到 Console 重试】。
这一步跳过会导致后续所有命令执行失败却无提示,尤其在单页应用(SPA)中极易误判为脚本错误。
定位并操作目标元素的常用命令
方法一:用选择器直接获取并修改文本
复制目标元素的 CSS 选择器(右键元素 → Copy → Copy selector),粘贴进 Console 执行:document.querySelector("#submit-btn").textContent = "提交中...";
方法二:批量操作同类元素
例如隐藏所有广告容器:document.querySelectorAll(".ad-banner, .sidebar-ads").forEach(el => el.style.display = "none");。注意:querySelectorAll 返回的是 NodeList,不能直接调用 forEach,必须用原生方法或转成数组。
方法三:动态创建并插入调试标记const tip = document.createElement("div"); tip.id = "debug-flag"; tip.textContent = "✅ 已注入调试钩子"; tip.style.cssText = "position:fixed;top:10px;right:10px;background:#27ae60;color:white;padding:4px 8px;z-index:9999;font-size:12px;"; document.body.appendChild(tip);
捕获与模拟移动端关键事件
第一步:监听全部 touch 事件并打印触点信息
在 Console 中输入以下代码并回车:["touchstart", "touchmove", "touchend", "touchcancel"].forEach(type => document.addEventListener(type, e => console.log(`[${type}]`, e.touches.length, e.target.tagName), true));
第二步:强制触发一次 touchstart 模拟点击const evt = new TouchEvent("touchstart", { touches: [{ identifier: 1, clientX: 100, clientY: 200 }] }); document.body.dispatchEvent(evt);。这行代码会向 body 派发一个带坐标的触摸事件,适用于测试手势识别模块;【若页面未启用 touch 支持(如禁用了 viewport meta),该事件可能被内核静默丢弃】。
第三步:滚动到底部并触发懒加载window.scrollTo(0, document.body.scrollHeight); setTimeout(() => dispatchEvent(new Event("scroll")), 100);。注意不能省略 setTimeout——某些框架只在 scroll 事件真正发生后才检查可视区,立即 dispatch 可能因 DOM 渲染未完成而失效。
注入 API 桩(mock)以绕过设备检测
执行以下两行代码,可让网页误认为当前运行在竖屏 iPhone 环境:Object.defineProperty(window, "orientation", { value: 0, writable: true });Object.defineProperty(screen, "availWidth", { value: 375, writable: true });
随后输入 console.log(window.orientation, screen.availWidth),应输出 0 375。若输出仍为 undefined 或原始值,说明该属性已被其他脚本冻结(writable: false),此时需改用 Reflect.defineProperty 强制覆盖,但存在兼容风险。
这一步对调试响应式布局、设备适配逻辑或登录态校验非常关键,不做则部分 JS 分支永远无法进入。
快速验证视频全屏与倍速功能
① 尝试对首个 video 元素执行全屏:document.querySelector('video')?.requestFullscreen?.() || document.querySelector('iframe')?.requestFullscreen?.();
若无反应,先点击一次视频画面再运行此命令——X5 内核要求全屏操作必须由用户手势触发。
② 设置播放速度为 1.5 倍:const v = document.querySelector('video'); if(v) v.playbackRate = 1.5;。若 v 为 null,说明 video 被包裹在 Shadow DOM 或动态渲染区域,需改用 document.querySelector('video, #player, .vjs-video') 扩展查找范围。
③ 查看当前倍速是否生效:document.querySelector('video')?.playbackRate。返回值不是 1.5?说明网站重写了 playbackRate setter,此时需在 Elements 面板中右键 video 元素 → Break on → attribute modifications,重新触发播放观察断点位置。











