gpt4 book ai didi

javascript - 如何使用 HTMLUnit 编写事件处理程序并检测某些 JavaScript 调用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:31:42 25 4
gpt4 key购买 nike

我想使用 Java API,HTMLUnit , 检测 JavaScript 程序在网页上调用 eval() 的次数。但是,HTMLUnit 没有针对此类 JavaScript 函数的内置处理程序。如何做到这一点?

谢谢。

最佳答案

只是一个想法。也许您可以将带有此代码的脚本注入(inject)到您正在加载的 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。因此,这是劫持了对 eval 的直接调用,但没有考虑其他评估可能性,例如使用 Function 构造函数或 setTimeout。

关于javascript - 如何使用 HTMLUnit 编写事件处理程序并检测某些 JavaScript 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46750959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com