如何从带有硒的Chrome Webdriver获取console.trace()结果?

时间:2018-08-31 08:24:47

标签: javascript python google-chrome webdriver selenium-chromedriver

我正在研究一些研究问题,当某些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()生成的跟踪完全不同。

是否有适当的方法来获取从铬到硒的正确堆栈跟踪?

0 个答案:

没有答案