我正在研究一些研究问题,当某些JavaScript更改DOM树时,这需要我获得确切的堆栈跟踪。
我在Chrome浏览器中使用MutationObserver结合console.trace API(如下所示的示例代码)设法获得了满意的结果,但是当我尝试使用Selenium Webdriver自动执行此过程时,提取的日志不包含任何堆栈跟踪信息
var callback = function(mutationsList) {
mutationsList.forEach(function (mutation) {
switch(mutation.type) {
case "attributes":
var rect = mutation.target.getBoundingClientRect();
console.log(JSON.stringify(rect));
console.trace();
break;
}
});
};
new MutationObserver(callback).observe(node, {
attributes: true,
childList: true
});
我还尝试用Error.stack替换console.trace()API,但是在MutationObserver定义的回调中,输出的堆栈跟踪与console.trace()生成的跟踪完全不同。
是否有适当的方法来获取从铬到硒的正确堆栈跟踪?