Google chrome extension 如何使用Chrome开发工具拦截跨扩展消息?

Google chrome extension 如何使用Chrome开发工具拦截跨扩展消息?,google-chrome-extension,selenium-chromedriver,google-chrome-devtools,message-passing,Google Chrome Extension,Selenium Chromedriver,Google Chrome Devtools,Message Passing,我正在使用SeleniumWebDriver自动化chrome扩展测试。我尝试使用driver.execute\u cdp\u cmd(cmd,cmd\u args)通过消息传递API截获跨扩展消息。然而,我不知道ChromeDevTools中的哪种方法可以用来实现这一点。欢迎任何提示 扩展A let extPort = chrome.runtime.connect(ExtB); extPort.postMessage({from: "ExtA", fn: "greeting"}); extPo

我正在使用SeleniumWebDriver自动化chrome扩展测试。我尝试使用
driver.execute\u cdp\u cmd(cmd,cmd\u args)
通过消息传递API截获跨扩展消息。然而,我不知道ChromeDevTools中的哪种方法可以用来实现这一点。欢迎任何提示

扩展A

let extPort = chrome.runtime.connect(ExtB);
extPort.postMessage({from: "ExtA", fn: "greeting"});
extPort.onMessage.addListener(function(message, sender) {
    if ((message.from == "ExtB") && (message.fn == "greeting")) {
        console.log("Ext B is enabled");
    }
});
分机B

chrome.runtime.onConnectExternal.addListener(function(port) {
    port.onMessage.addListener(function(message, sender) {
        if ((message.from == "ExtA") && (message.fn == "greeting")) {
                port.postMessage({from: "ExtB", fn: "greeting"});
        }
    });
});

没有任何特定于扩展的方法,因此您必须将JS代码注入扩展上下文,并在其中添加侦听器。我只能通过CDP在页面中注入脚本。不知道如何在后台脚本中插入消息传递的扩展。或我应该在向selenium webdriver添加扩展之前插入侦听器吗?CDP应该能够在任何地方插入,假设您指定了正确的目标,请检查的输出。您使用哪种方法插入脚本?我使用
page.reload在获得_generated\u background\u page.html后注入脚本。我认为我的方法不正确。我不知道Selenium,我知道通过Runtime.callFunctionOn或Runtime.evaluate执行注入的底层CDP。寻找硒的类似物。还有一种方法可以直接调用CDP命令。