我想分析一个不属于我的网站。 所以,我想在浏览器中使用Javascript来完成它。 在我点击网站上的一个按钮后,我想触发一个计时器,一旦网站发出通知,计时器应该停止并保存回来的通知。 我怎样才能以最简单的方式做到这一点?
我无法向您提供该网站的链接,因为它是在私人网络中托管的。
我的第一个问题是,我如何将网站上触发的所有事件记录到控制台,所以我知道我想要等待的按钮的名称。
谢谢! 戴夫
答案 0 :(得分:2)
要查看特定DOMnode或窗口的所有事件(仅适用于Chrome,我相信,没有在其他地方测试过):
getEventListeners(window)
这将为您提供包含所有事件的对象,然后您可以使用
拦截它们window.addEventListener(eventName, fn, true);
这样,只要触发该节点上的事件(在这种情况下为窗口),就会调用您的事件
如果你想要整个应用程序上的所有事件,你可以使用firebug
之类的东西来实现它如果您只想点击按钮,则可以执行以下操作:
var specificButton = document.querySelector('#specific-button')
specificButton.addEventListener('click', function() {});
如果您不拥有源代码,则可以使用greasemonkey
或tampermonkey
之类的内容将javascript注入页面。
如果您在服务器上使用它,可以使用cheerio从get请求解析返回的html,并对其应用查询,但是您将失去从io设备收听实时事件的能力
答案 1 :(得分:0)
如果我了解你,我看到的最简单的选择是打开浏览器开发人员工具并使用控制台获取按钮(document.getElementById,ie)并更改其onclick回调,包括调用新回调中的旧回调回调,并触发你的计时器。
要拦截对此按钮的响应(我假设它触发了网络请求),您必须分析一下网络代码以了解如何检测它。
您还可以编辑网站javascript以及#34;来源"浏览器的开发工具选项卡。
这是个主意。我从未做过类似的事情。我不得不承认这对我来说听起来有点奇怪。