如何编写事件处理程序并使用HTMLUnit检测某些JavaScript调用?
我想使用Java API HTMLUnit来检测JavaScript程序在网页上调用的eval()调用的数量。 但是,HTMLUnit没有用于此类JavaScript函数的内置处理程序。 如何才能做到这一点?
谢谢。
只是一个想法。 也许你可以用这段代码将脚本注入到你正在加载的html的开头:
(function(){
const oldEval = window.eval;
window.eval = function () {
// communicate here with your Java program that eval has been
// called. Maybe you can use the postMessage method?
return oldEval.apply(this, arguments);
};
})();
有了这个,你可以劫持eval函数,并且每次调用eval时都可以执行一些代码。 如果你找出一个与你的程序进行沟通的好方法,那么也许这是有效的。
不确定是否存在问题,但Javascript有多种方式在运行时评估代码,而不仅仅是评估。 所以,这是劫持直接调用eval,但不考虑使用Function构造函数或setTimeout等其他评估可能性。
链接地址: http://www.djcxy.com/p/40739.html上一篇: How to write Event Handlers and detect certain JavaScript calls using HTMLUnit?
下一篇: Detect actual available computing power browser javascript