我试图在Chrome中构建、加载和调试Selenium IDE扩展。我从
https://github.com/SeleniumHQ/selenium-ide
yarn build
现在我有一个文件夹
<repo-root>\\packages\\side-recorder\\build
其中包含manifest.json和manifest.json中列出的所有.js文件都与manifest.json(其中包括background.js文件)相对应。
看来build没问题。我将Chrome切换到开发模式,转到Chrome://extensions并单击“loadunpacted”,然后导航到“build”文件夹。扩展已经添加,但是当我单击它的工具栏图标时,Chrome控制台中有一条错误消息,说它无法连接到engine.io服务器。我想找到一段代码,试图连接到那里,所以我决定下一步做什么。
问题是来自repo的原始代码看起来像是典型的JavaScript代码在“build”文件夹中不以相同的形式出现。而是作为一堆
eval()
原始代码将包含如下内容:
this.attachRecorderRequestHandler = this.attachRecorderRequestHandler.bind(
this
)
我搜索了这段代码,在background.js中找到了这一行。。。开始是这样的。。。
eval("__webpack_require__.r(__webpack_exports__);
this.attachRecorderRequestHandler=this.attachRecorderRequestHandler.bind(this);}
即使我在
eval
chrome://extensions/?id=someVeryLongLineHere
然后重新加载页面,则不会命中断点。我肯定什么都调试不了。
看起来我做错了什么,因为我看到的与Chrome文档中典型的“hello world”调试体验不匹配。