How can i get the console logs of the current website opened in a iframe or page using a chrome extensions, i am using chrome debugger protocol for that but i am able to figure the logs
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
console.log("tabs--->", tabs);
console.log("tabs[0].id", tabs[0].id);
chrome.debugger.attach({ tabId: tabs[0].id }, "1.1", () => {
if (chrome.runtime.lastError) {
console.log("runtime.lastError", chrome.runtime.lastError.message);
return;
}
console.log("Debugger attached");
});
chrome.debugger.sendCommand({ tabId: tabs[0].id }, "Console.enable", () => {
if (chrome.runtime.lastError) {
console.log("runtime.lastError", chrome.runtime.lastError.message);
return;
}
console.log("Log enabled and result");
});
const config = {
source: "javascript",
level: "log",
text: "console.log('hello world')",
};
chrome.debugger.sendCommand({ tabId: tabs[0].id }, "Console.ConsoleMessage", config, () => {
if (chrome.runtime.lastError) {
console.log("runtime.lastError", chrome.runtime.lastError.message);
return;
}
console.log("Log enabled and result");
});
});
I have tried this above code it throws an error Console.ConsoleMessage not found
To get all the logs
chrome.debugger.getTargets((result) => console.log(result) )
Here we are adding a event listener
chrome.debugger.onEvent.addListener(onEvent);
chrome.tabs.query give you the current tab To enable the logs we have to sendCommand of Log.enable
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
// you can even attach tabId or targetId
chrome.debugger.attach(
{ targetId: "FC33D8084B688E98F5929B90326E3A27" },
"1.3",
() => {
if (chrome.runtime.lastError) {
console.log("runtime.lastError", chrome.runtime.lastError.message);
return;
}
console.log("Debugger attached");
}
);
chrome.debugger.sendCommand(
{ targetId: "FC33D8084B688E98F5929B90326E3A27" },
"Log.enable",
() => {
if (chrome.runtime.lastError) {
console.log("runtime.lastError", chrome.runtime.lastError.message);
return;
}
console.log("Log enabled and result");
}
);
});
function onEvent(debuggeeId, message, params) {
// Here you can get the logs
console.log("params", params);
}