如何以编程方式监控 Web 浏览器中的 JavaScript 执行?

Posted

技术标签:

【中文标题】如何以编程方式监控 Web 浏览器中的 JavaScript 执行?【英文标题】:How would one monitor JavaScript execution in a web browser programmatically? 【发布时间】:2014-08-27 19:23:46 【问题描述】:

我希望能够知道任意 javascript 何时在 Web 浏览器中成功执行命令。媒介无关紧要,它可以是日志、堆栈跟踪、事件信号,它必须是可以通过编程分析的东西。

我已经考虑这个问题有一段时间了,但我还没有想出一个合适的解决方案。不过,我不是 JavaScript 专家,所以我想知道您有什么想法?

您可能想知道为什么,这只是我非常感兴趣的事情。

感谢任何输入。你能帮帮我吗?

编辑:我已经研究过使用 Firebug 之类的东西来监视 JavaScript 函数,但是我无法确定 Firebug 是否可以在模拟的 Web 浏览器上以编程方式运行(例如 ASP.NET 中的 Web 浏览器控件,它是我目前正在使用的。)有人知道它是否可以吗?

【问题讨论】:

【参考方案1】:

你可以使用Firebug.的profiler

转到控制台选项卡并单击配置文件。探查器启动并且所有 javascript 操作都被“记录”,直到您再次单击 Profile。然后你会得到在这个时间间隔内执行的 javascript 函数的列表。

大多数现代浏览器的控制台都有类似的功能。

来源:See/Log which javascript function is being executed by the browser

【讨论】:

啊,是的,我实际上已经检查了 Firebug。但是(我很抱歉没有在上面指定这一点,)我目前在 ASP.NET 中使用模拟的 Web 浏览器,因为我需要自动化这个过程。例如,您知道是否可以在 Web 浏览器控件上使用 Firebug?当我检查它时,我认为它不会。 感谢您的投票。我正在调查你的确切问题。我会尽快更新。 不幸的是,我认为控制台不会在这里帮助我,因为我需要连接到 JavaScript 引擎。不过感谢您的帮助,不胜感激。【参考方案2】:

firefox 浏览器可以使用 selenium web 驱动程序在 asp .net 中使用,它还提供从网页访问所有详细信息的能力。查看文档并下载 api 代码并将其集成到您的项目中,使用它的帮助很容易集成。 http://docs.seleniumhq.org/projects/webdriver/

【讨论】:

哦,有趣。我马上去看看,谢谢你的意见 它可能无法完成您正在寻找的实际任务,但会像 curl 一样帮助您。

以上是关于如何以编程方式监控 Web 浏览器中的 JavaScript 执行?的主要内容,如果未能解决你的问题,请参考以下文章

C#:如何以编程方式检查 Web 服务是不是已启动并正在运行?

概念简介Javas cript简介

如何以编程方式监控 docker 容器是不是退出?

如何以编程方式单击 JavaScript 中的元素?

在 Python 中以编程方式在 Web 浏览器中打开 URL

以编程方式在 WSS 3.0 的 Web 部件页面中插入列表作为 Web 部件