const genericVinParserFactory = require("./generics/generic-vin-parser"); module.exports = { baseUrl: 'superstockamx.com', async execute(page) { const gallerySelector = '.main-bg' const imageSelector = 'img'; await page.waitForSelector(gallerySelector); const images = await page.$$(imageSelector); const sources = await Promise.all(images.map(async carouselItem => { const src = await page.evaluate(el => el.getAttribute('src'), carouselItem); if(src.includes('base64')) { //base 64 pasted image console.log('Found base64 image.') const regex = /^data:(?[^;]+);base64,(?.+)/g; const matches = src.matchAll(regex); const groups = Array.from(matches, m => m.groups)[0] return {base64: groups.data, contentType: groups.contentType}; } else if(src.startsWith('http')) { return { url: src }; } else { return {} // anything hosted seperately on his site is not an actual car pic // return { // url: module.exports.baseUrl + '/' + src // } } })); return sources; }, parseVIN: async function (page) { return null; }, parseMileage: async function (page) { return null; } }