Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何查看在网页上单击按钮时发生的过程?_Javascript_Debugging_Web Scraping_Fiddler - Fatal编程技术网

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

Javascript 如何查看在网页上单击按钮时发生的过程?,javascript,debugging,web-scraping,fiddler,Javascript,Debugging,Web Scraping,Fiddler,我目前正试图从Plus500上的交易仪表盘中获取一些数据。我感兴趣的信息只有在单击特定安全性旁边的“信息”按钮时才可见(在右侧),如下面的屏幕截图所示: 到目前为止,我已经编写了一些基本的JavaScript,它单击页面上每个安全性旁边的信息按钮,并尝试在信息窗格中刮取数据。但是,单击“信息”按钮时,需要几秒钟才能加载新数据: 因此,我的Javascript在加载之前就从信息面板中删除了,并且它收集的信息不正确。这意味着我现在正试图解决如何告诉我的Javascript等待新数据加载 我怀疑(

我目前正试图从Plus500上的交易仪表盘中获取一些数据。我感兴趣的信息只有在单击特定安全性旁边的“信息”按钮时才可见(在右侧),如下面的屏幕截图所示:

到目前为止,我已经编写了一些基本的JavaScript,它单击页面上每个安全性旁边的信息按钮,并尝试在信息窗格中刮取数据。但是,单击“信息”按钮时,需要几秒钟才能加载新数据:

因此,我的Javascript在加载之前就从信息面板中删除了,并且它收集的信息不正确。这意味着我现在正试图解决如何告诉我的Javascript等待新数据加载

我怀疑(可能是错误的)正在使用Ajax请求获取这些新信息。但是,看看Fiddler,当我单击info按钮时,没有捕捉到这样的过程

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

为了避免猜测工作,当我单击这些“信息”按钮时,如何确定正在运行的进程

注:如果有人认为有更好的方法来删除这些数据,请让我知道


干杯。

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

  • 打开浏览器的开发工具(通常是F12)
  • 转到“调试器”(Firefox)或“源代码”(Chrome/WebKit)选项卡
  • 查找断点面板(最右边的面板或左下的面板,具体取决于您的开发工具维度)
  • 导航到事件侦听器断点->鼠标,在那里可以为所有单击事件设置断点
  • 现在,每当你点击一个JS事件监听器,JS调试器就会在监听器的JS代码中停止,你可以调试它。由于大多数网站缩小了JS代码,您可能不得不克服无法阅读的混乱,但至少这是一个开始

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

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

    查看那边的“网络”选项卡,您可以看到正在运行的任务。