function getInvoice() { let invoice = Array.from(document.getElementsByClassName("css-8tkdem")).map(row => { return Array.from(row.children).map(container => { return container.textContent; }) }); x = {}; invoice.forEach((row) => { x[row[0]] = { qty: row[4].substring(13), cost: row[6] } }); return x; } browser.runtime.onMessage.addListener(function (message, sender, sendResponse) { if (message["action"] === "get") { sendResponse(getInvoice()); } });