我开始在一个已经有一个巨大的网页应用程序的地方工作。我受雇于使用Selenium进行前端测试,但我很好奇这个应用程序的内部工作原理。我的问题是,使用Chrome开发工具或类似的工具,我如何知道是哪个Javascript模块创建了我在页面上看到的元素/表/表单?我可以“检查元素”并查看DOM,但我想知道应该深入哪个.js文件来查看元素是如何构建的。
本质上,在Chrome开发工具中,如何在DOM检查器和构建DOM的源文件之间架起桥梁。
发布于 2017-01-11 01:08:09
发布于 2017-01-11 00:15:56
创建DOM元素可以通过设置任何DOM元素的innerHTML或调用appendChild方法来完成。所以使用JavaScript Proxy代理这两个。要知道位置,可以使用chrome控制台方法console.trace();
例如:
假设您有这样的HTML
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div></div>
</body>
</html>您的代理应该是这样的
var divEl = document.querySelector('div');
divEl.appendChild = new Proxy(divEl.appendChild, {
apply: function(target, thisArg, argumentsList) {
console.trace();
target.apply(thisArg, argumentsList);
}
});如果执行以下代码,则代码中的某些位置
var pEl = document.createElement('p');
divEl.appendChild(pEl);您可以在控制台中看到它的调用位置。
https://stackoverflow.com/questions/41573121
复制相似问题