Я работаю над некоторой исследовательской проблемой, которая требует от меня получения точной трассировки стека, когда определенный JavaScript изменяет дерево DOM.
Мне удалось добиться удовлетворительного результата, используя MutationObserver в сочетании с API console.trace (пример кода показан ниже) в браузере Chrome, но когда я попытался автоматизировать этот процесс с помощью веб-драйвера selenium, извлеченный журнал не содержит никакой информации о трассировке стека. .
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
});
Я также пытался заменить API console.trace () на Error.stack, но в обратном вызове, определенном MutationObserver, выходная трассировка стека полностью отличается от генерируемой console.trace ().
Есть ли какой-нибудь правильный способ получить правильную трассировку стека от хрома к селему?