在Selenium中捕获Chrome扩展程序控制台日志

3
我有一个Chrome扩展程序,用于调试目的在多个地方调用console.log()。这些输出可以在Chrome Web控制台中看到。当我使用ChromeDriver运行selenium并加载扩展程序时,我仍然可以在Web控制台中看到输出,但我无法找到一种方法来从selenium脚本中查看扩展程序日志。
尝试使用任何指定此处的目标的driver.get_log('<target>')都会返回来自selenium-driver-browser堆栈各部分的日志,但没有显示扩展程序的任何内容。我还将所有日志来源设置为'ALL',如此处所述。
我还尝试使用扩展程序将控制台输出收集到DOM中,然后尝试从selenium脚本中读取DOM,但似乎该扩展程序无法收集其他正在运行的扩展程序的日志。
非常感谢您的帮助!

我编写了一个小型软件包,以描述性的方式捕获控制台日志。您可以将其初始化代码注入到要捕获日志的网页中。 https://www.npmjs.com/package/capture-console-logs - nsrCodes
1个回答

1

我最终通过修改我正在测试的扩展来将日志直接记录到DOM中来解决这个问题。这样,我可以通过在Selenium中读取页面中的HTML来读取扩展的输出。虽然不太美观,但它可行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接