如何在浏览器中检查消失的元素?

luk*_*nis 118 javascript firefox firebug google-chrome opera-dragonfly

如何检查鼠标移开时消失的元素? 示例下拉列表消失了

我不知道它的ID,类或任何东西,但想要检查它.

我试过的解决方案:

在控制台内运行jQuery选择器,$('*:contains("some text")')但没有任何运气,主要是因为该元素未被隐藏但可能从DOM树中删除.

手动检查DOM树的变化给了我什么,因为它似乎太快而无法注意到已发生的变化.

成功:

我在事件断点方面取得了成功.具体来说 - 在我的情况下是mousedown.只需转到Sources-> Event Listener Breakpoints-> Mouse-> mousedownChrome.之后我点击了我要检查的元素,在里面Scope Variables我看到了一些有用的方向.

arx*_*ica 148

(此答案仅适用于Chrome开发者工具.)

找到包含消失元素的元素.右键单击元素并应用"Break on ...> Subtree Modifications".这将在元素消失之前抛出调试器暂停,这将允许您与处于暂停状态的元素进行交互.

在此输入图像描述


Jos*_*oco 71

Chrome中的另一种方法:

显示所需的元素时,按F8(或Ctrl + /).这将破坏脚本执行,同时完全冻结DOM.

从那里你可以使用Ctrl + Shift + C来选择转瞬即逝的元素.

  • 它确实冻结了执行中的代码,但元素仍然消失了(我正在使用 React)。 (8认同)
  • 完善!!这正是我想要的 (2认同)
  • 我注意到这仅在您已在“源”选项卡中打开开发人员工具时有效。 (2认同)
  • 这对 Google 视频控件弹出窗口不起作用...一旦您按下按键,该控件就会从视图中消失,并且在冻结发生之前完全消失。 (2认同)
  • 这根本不起作用...该元素仍然消失。我正在使用 Vue - 也许它与 Chrome 开发人员工具不一致? (2认同)

Moj*_*aba 50

  1. 打开控制台
  2. 输入 setTimeout(()=>{debugger;},5000);
  3. 按 Enter

现在您有 5 秒钟的时间让您的元素出现。一旦出现,请等待调试器命中。只要你不恢复,你可以玩你的元素,它不会消失。


避免每次都重复上述步骤的有用提示:

将此添加为书签:

  1. 为任何页面添加书签
  2. 编辑这个新书签
  3. 将 URL/位置替换为: javascript:(function(){setTimeout(()=>{debugger;},5000);})();

下次您想使用它时,只需单击/点按此书签即可。

  • 这是唯一对我有用的解决方案。(此处多个其他答案中的“F8”解决方案不起作用。) (11认同)
  • 这是调试消失元素最快、最稳定的方法 ^ (7认同)
  • 即使有“由谷歌提供支持”的下拉建议,它也能像魔术一样工作。谢谢先生! (3认同)
  • 这真是太好了!我很生气我没有考虑到这个 (2认同)

Bla*_*mba 6

我在Mac上使用chrome,我已按照上述步骤操作,但我会尝试说明更多内容:

  1. 右键单击并检查元素。
  2. 转到源标签。
  3. 然后将鼠标悬停在元素上。
  4. 然后使用键盘F8 Command(Window) \。它将以静态状态暂停屏幕,并且该元素在悬停时不会消失。


dip*_*ent 6

2021年验证

请执行下列操作:

  1. 打开控制台并导航到 Elements 选项卡
  2. 类型command + shift + P(OSX) 或control + shift + P(Windows)
  3. 输入单词 focused
  4. 选择Emulate a focused page从菜单

现在在控制台中单击不会关闭元素。

  • 绝对棒极了 - 谢谢@dipole_moment - 这就是为什么我发现自己现在首先在 stackoverflow 中滚动到底部答案 - 更好的当前解决方案 (6认同)

Emm*_*mma 5

Emulate a focused page功能是检查消失元素的最佳方式。启用此功能后,弹出窗口不会消失。

截至2023 年 5 月,Chrome 已重新定位此功能的菜单项。请查看下面的屏幕截图来找到它。该功能可以在“渲染”窗格的第 9 个选项中找到。

在此输入图像描述