console.log("contentscript.js started!"); function extractUrlsAndFilenames() { console.log("contentscript.js: this is extractFileUrlsAndNames()"); // get the correct frame let frame = document.querySelector("iframe.js-mail-content"); // get all divs containing attachments let divs = frame.contentWindow.document.body.querySelectorAll("div.samoware-mail-message__attach__item[attachment-ref]"); // loop over divs and extract attachment information let urlsAndFilenames = [] divs.forEach(div => { let url = div.getAttribute("attachment-ref"); let filename = div.getAttribute("file-name"); // if filename is null, derive it from url if ( ! filename ) { let splitUrl = url.split("/"); filename = splitUrl[splitUrl.length-1]; } urlsAndFilenames.push({url: url, filename: filename}); }) return urlsAndFilenames; } const urlsAndFilenames = extractUrlsAndFilenames(); console.log(`contentscript.js: done; found ${JSON.stringify(urlsAndFilenames)}`); urlsAndFilenames;