【问题标题】:Recording web page events / ajax calls/results and so on记录网页事件/ajax调用/结果等
【发布时间】:2011-12-23 22:34:20
【问题描述】:

我主要是在这里寻找路线。

我希望记录网页中发生的事件。有点类似于您的普通“宏记录器”,不同之处在于我不太关心精确的光标移动或键盘输入。我想记录的事件类型是修改输入字段、悬停、跟踪链接、提交表单、启动的脚本、ajax 调用、ajax 结果等。

我一直在考虑使用 Jquery 来为此构建一个小应用程序,并将其插入到我想测试它的任何页面上(或者更有可能将页面加载到 iframe 或其他东西中)。但是,我无法容纳这些页面上的脚本来处理它,因此无论内容如何,​​它都必须工作。

所以我想我的第一个问题是:这可以做到吗?特别是关于 ajax 调用和各种脚本执行。 如果可以,我将如何处理它的 ajax/script 部分?如果不能,我应该为这项任务寻找什么语言?

另外:也许有一些东西已经可以做我正在寻找的东西?

提前致谢

【问题讨论】:

    标签: javascript jquery events listener


    【解决方案1】:

    我能想到的两种方法是:

    1. 使用插件 (firefox) 或扩展 (chrome) 注入脚本标签,以加载 jquery 和您的 jquery 应用程序
    2. 设置代理(您可以使用 node.js 或其他代理服务器)并在您的代理注入脚本标签中,确保调整 ContentLength 标头。 (在 https 网站中很棘手)。
    3. 在不需要捕获 onload 的情况下,一个更简单、更快速的选择是编写一个 JavaScript sn-p,通过注入脚本标签来加载 jquery 和您的应用程序,使其成为一个小书签,并在页面加载后点击小书签。

    【讨论】:

    • 嗨!感谢您的快速回答,这些都是好主意。我一定会检查出来的。但我主要关心的是(在我开始之前)我是否可以实际记录正在执行的脚本以及在 ajax 调用的情况下传出和传入的数据是什么。所有这些都使用 Javascript。
    【解决方案2】:

    在寻找标签注入代理时偶然发现了这篇文章。

    是的,很可能通过页面中加载的 javascript 中的代码捕获(几乎)浏览器的所有函数和方法调用 - 通常是 javascript 调试器(firebug?)或 HTTP 调试器(tamperdata / fiddler)会给你以更少的努力满足您的需求。

    OTOH,如果您真的想使用批量数据/任意站点执行此操作,那么(根据我目前所见)您可以使用带有 icap server/ecap module 的 Squid 代理(这不是微不足道的 - 将涉及大量编程)或通过greasemonkey实现javascript作为浏览器扩展。

    澄清一下,到目前为止,我已经弄清楚了如何在我自己的代码中捕获函数和方法(包括构造函数调用)和代理,但还没有处理由直接设置属性触发的处理(例如img.src='http://hackers-r-us.com') 也不能很好地处理 ActiveX。

    【讨论】:

      猜你喜欢
      • 2013-07-25
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多