单击网页上的按钮时如何查看正在发生的进程?

How to see what processes are occurring when a button is clicked on a webpage?

我目前正在尝试从 Plus500 的交易仪表板中抓取一些数据。当单击特定证券旁边的 'Information' 按钮时,我感兴趣的信息仅可见(在右侧),如下面的屏幕截图所示:

到目前为止,我已经写了一些基本的 JavaScript,点击页面上每个证券旁边的信息按钮,并尝试抓取信息窗格中的数据。但是,当单击 'Information' 按钮时,需要几秒钟的时间来加载新数据:

因此,我的 Javascript 在信息面板加载之前就从信息面板中抓取了信息,它收集的信息是不正确的。这意味着我现在正在尝试弄清楚如何告诉我的 Javascript 等到新数据加载完毕。

我怀疑(也许是错误的)Ajax 请求被用来获取这个新信息。但是,查看 Fiddler,当我单击信息按钮时没有捕获此类进程。

我也想知道页面上的信息是否已经全部存在,但在单击信息按钮之前隐藏起来。这可以解释为什么我看不到在 Fiddler 中发出的 Ajax 请求。然而,对 HTML 的简要检查似乎表明情况并非如此。

为了避免猜测,当我单击这些 'information' 按钮时,如何才能明确地找出 运行 正在执行的进程?

注意:如果有人认为有更好的方法来抓取这些数据,请告诉我!

干杯。

在浏览器的 JS 调试器中使用断点:

  1. 打开浏览器的开发工具(通常是 F12)
  2. 转到选项卡“调试器”(Firefox) 或“源代码”(Chrome/WebKit)
  3. 找到断点面板(最右边的面板或左下角的面板,具体取决于您的开发工具尺寸)
  4. 导航到事件侦听器断点 -> 鼠标,您可以在那里为所有点击事件设置断点

现在,只要您单击具有 JS 事件侦听器的点击,JS 调试器就会暂停在侦听器的 JS 代码中,您可以对其进行调试。由于大多数网站都缩小了他们的 JS 代码,您可能不得不在无法阅读的混乱中挣扎,但至少这是一个开始。

您还可以在 DOM 检查器中查看节点的所有事件侦听器:

  • Firefox:DOM 检查器在每个带有事件侦听器的节​​点旁边显示一个小气泡“事件”。单击它可以列出绑定到该节点的所有侦听器。请注意,事件可能会冒泡并由更高的节点处理,因此可能有一个事件侦听器未直接显示在节点上,但仍在处理该节点的事件。
  • Chrome: Select 节点,然后在右侧面板中转到选项卡“事件侦听器”和 select 您感兴趣的事件类型。