```
const puppeteer = require('puppeteer-core'); // Use puppeteer-core to avoid auto-launching
const fs = require('fs');

// List of URLs to scrape
const urls = [
'https://lzt.market/126802122/?hide_warning=1',
'https://lzt.market/126658350/?hide_warning=1',
'https://lzt.market/126079965/?hide_warning=1',
'https://lzt.market/126079130/?hide_warning=1',
'https://lzt.market/126077774/?hide_warning=1',
'https://lzt.market/51407124/?hide_warning=1',
'https://lzt.market/125800195/?hide_warning=1',
'https://lzt.market/125725392/?hide_warning=1',
'https://lzt.market/114157476/?hide_warning=1',
'https://lzt.market/125599124/?hide_warning=1',
'https://lzt.market/125191106/?hide_warning=1',
'https://lzt.market/125190893/?hide_warning=1',
'https://lzt.market/125188822/?hide_warning=1',
'https://lzt.market/125186444/?hide_warning=1',
'https://lzt.market/125065862/?hide_warning=1',
'https://lzt.market/124999509/?hide_warning=1',
'https://lzt.market/124911175/?hide_warning=1',
'https://lzt.market/124406609/?hide_warning=1',
'https://lzt.market/124214679/?hide_warning=1',
'https://lzt.market/124066466/?hide_warning=1',
'https://lzt.market/124053146/?hide_warning=1',
'https://lzt.market/124049734/?hide_warning=1',
'https://lzt.market/124049087/?hide_warning=1',
'https://lzt.market/124040743/?hide_warning=1',
'https://lzt.market/124026340/?hide_warning=1',
'https://lzt.market/123984856/?hide_warning=1',
'https://lzt.market/123977673/?hide_warning=1',
'https://lzt.market/123974998/?hide_warning=1',
'https://lzt.market/123974363/?hide_warning=1',
'https://lzt.market/123973061/?hide_warning=1',
'https://lzt.market/123969606/?hide_warning=1',
'https://lzt.market/123955265/?hide_warning=1',
'https://lzt.market/123844675/?hide_warning=1',
'https://lzt.market/123842412/?hide_warning=1',
'https://lzt.market/123841319/?hide_warning=1',
'https://lzt.market/123841210/?hide_warning=1',
'https://lzt.market/123822823/?hide_warning=1',
'https://lzt.market/123815908/?hide_warning=1',
'https://lzt.market/123805458/?hide_warning=1',
'https://lzt.market/123709662/?hide_warning=1',
'https://lzt.market/123578091/?hide_warning=1',
'https://lzt.market/123537506/?hide_warning=1',
'https://lzt.market/103120949/?hide_warning=1',
'https://lzt.market/123371285/?hide_warning=1',
'https://lzt.market/122817270/?hide_warning=1',
'https://lzt.market/122476421/?hide_warning=1',
'https://lzt.market/122457002/?hide_warning=1',
'https://lzt.market/121712233/?hide_warning=1',
'https://lzt.market/97704663/?hide_warning=1',
'https://lzt.market/121337862/?hide_warning=1',
'https://lzt.market/121060295/?hide_warning=1',
'https://lzt.market/121035283/?hide_warning=1',
'https://lzt.market/121024467/?hide_warning=1',
'https://lzt.market/119613470/?hide_warning=1',
'https://lzt.market/119349037/?hide_warning=1',
'https://lzt.market/118607445/?hide_warning=1',
'https://lzt.market/118720076/?hide_warning=1',
'https://lzt.market/117848455/?hide_warning=1',
'https://lzt.market/117807775/?hide_warning=1',
'https://lzt.market/117630578/?hide_warning=1',
'https://lzt.market/117758466/?hide_warning=1',
'https://lzt.market/117486414/?hide_warning=1',
'https://lzt.market/117482757/?hide_warning=1',
'https://lzt.market/117482003/?hide_warning=1',
'https://lzt.market/117472520/?hide_warning=1',
'https://lzt.market/117274576/?hide_warning=1',
'https://lzt.market/116942960/?hide_warning=1',
'https://lzt.market/116827442/?hide_warning=1',
'https://lzt.market/110190547/?hide_warning=1',
'https://lzt.market/116202075/?hide_warning=1',
'https://lzt.market/116194917/?hide_warning=1',
'https://lzt.market/116191952/?hide_warning=1',
'https://lzt.market/101159243/?hide_warning=1',
'https://lzt.market/93710450/?hide_warning=1',
'https://lzt.market/116133905/?hide_warning=1',
'https://lzt.market/115654991/?hide_warning=1',
'https://lzt.market/115140823/?hide_warning=1',
'https://lzt.market/115091703/?hide_warning=1',
'https://lzt.market/115061882/?hide_warning=1',
'https://lzt.market/114246677/?hide_warning=1',
'https://lzt.market/114757163/?hide_warning=1',
'https://lzt.market/114696105/?hide_warning=1',
'https://lzt.market/112000524/?hide_warning=1',
'https://lzt.market/114495307/?hide_warning=1',
'https://lzt.market/103999435/?hide_warning=1',
'https://lzt.market/114457613/?hide_warning=1',
'https://lzt.market/114308406/?hide_warning=1',
'https://lzt.market/114139476/?hide_warning=1',
'https://lzt.market/114020717/?hide_warning=1',
'https://lzt.market/113874945/?hide_warning=1',
'https://lzt.market/113667031/?hide_warning=1',
'https://lzt.market/113595881/?hide_warning=1',
'https://lzt.market/113461926/?hide_warning=1',
'https://lzt.market/113461912/?hide_warning=1',
'https://lzt.market/113437477/?hide_warning=1',
'https://lzt.market/113051301/?hide_warning=1',
'https://lzt.market/113050078/?hide_warning=1',
'https://lzt.market/113039982/?hide_warning=1',
'https://lzt.market/112691895/?hide_warning=1',
'https://lzt.market/112685733/?hide_warning=1',
'https://lzt.market/112684910/?hide_warning=1',
'https://lzt.market/112684564/?hide_warning=1',
'https://lzt.market/112684014/?hide_warning=1',
'https://lzt.market/112672109/?hide_warning=1',
'https://lzt.market/112628624/?hide_warning=1',
'https://lzt.market/112540254/?hide_warning=1',
'https://lzt.market/112259636/?hide_warning=1',
'https://lzt.market/112161052/?hide_warning=1',
'https://lzt.market/112160470/?hide_warning=1',
'https://lzt.market/112160445/?hide_warning=1',
'https://lzt.market/111882995/?hide_warning=1',
'https://lzt.market/87872809/?hide_warning=1',
'https://lzt.market/111590631/?hide_warning=1',
'https://lzt.market/111464632/?hide_warning=1',
'https://lzt.market/111458081/?hide_warning=1',
'https://lzt.market/111402038/?hide_warning=1',
'https://lzt.market/111357607/?hide_warning=1',
'https://lzt.market/111346719/?hide_warning=1',
'https://lzt.market/111052243/?hide_warning=1',
'https://lzt.market/94297973/?hide_warning=1',
'https://lzt.market/110940937/?hide_warning=1',
'https://lzt.market/110556458/?hide_warning=1',
'https://lzt.market/99288071/?hide_warning=1',
'https://lzt.market/109962648/?hide_warning=1',
'https://lzt.market/109906270/?hide_warning=1',
'https://lzt.market/109821286/?hide_warning=1',
'https://lzt.market/109302738/?hide_warning=1',
'https://lzt.market/92382738/?hide_warning=1',
'https://lzt.market/109109338/?hide_warning=1',
'https://lzt.market/106238211/?hide_warning=1',
'https://lzt.market/107441973/?hide_warning=1',
'https://lzt.market/92526528/?hide_warning=1',
'https://lzt.market/106631840/?hide_warning=1',
'https://lzt.market/106513382/?hide_warning=1',
'https://lzt.market/105891118/?hide_warning=1',
'https://lzt.market/104985877/?hide_warning=1',
'https://lzt.market/104023624/?hide_warning=1',
'https://lzt.market/104023487/?hide_warning=1',
'https://lzt.market/103393157/?hide_warning=1',
'https://lzt.market/103352506/?hide_warning=1',
'https://lzt.market/102685161/?hide_warning=1',
'https://lzt.market/102186027/?hide_warning=1',
'https://lzt.market/101687604/?hide_warning=1',
'https://lzt.market/101317308/?hide_warning=1',
'https://lzt.market/100659407/?hide_warning=1',
'https://lzt.market/99828507/?hide_warning=1',
'https://lzt.market/99594122/?hide_warning=1',
'https://lzt.market/98847231/?hide_warning=1',
'https://lzt.market/98659225/?hide_warning=1',
'https://lzt.market/97866397/?hide_warning=1',
'https://lzt.market/97861765/?hide_warning=1',
'https://lzt.market/97860371/?hide_warning=1',
'https://lzt.market/97856862/?hide_warning=1',
'https://lzt.market/97855839/?hide_warning=1',
'https://lzt.market/97778394/?hide_warning=1',
'https://lzt.market/97695517/?hide_warning=1',
'https://lzt.market/97694898/?hide_warning=1',
'https://lzt.market/97089024/?hide_warning=1',
'https://lzt.market/97036514/?hide_warning=1',
'https://lzt.market/93896096/?hide_warning=1',
'https://lzt.market/93722255/?hide_warning=1',
'https://lzt.market/92456137/?hide_warning=1',
'https://lzt.market/92336957/?hide_warning=1',
'https://lzt.market/84889496/?hide_warning=1',
'https://lzt.market/92336288/?hide_warning=1',
'https://lzt.market/87174519/?hide_warning=1',
'https://lzt.market/86999743/?hide_warning=1',
'https://lzt.market/57749763/?hide_warning=1',
'https://lzt.market/85636515/?hide_warning=1',
'https://lzt.market/62907259/?hide_warning=1',
'https://lzt.market/82540647/?hide_warning=1',
'https://lzt.market/81910193/?hide_warning=1',
'https://lzt.market/75019778/?hide_warning=1',
'https://lzt.market/73949910/?hide_warning=1',
'https://lzt.market/70906061/?hide_warning=1',
'https://lzt.market/64918251/?hide_warning=1',
'https://lzt.market/61796685/?hide_warning=1',
'https://lzt.market/54459530/?hide_warning=1',
'https://lzt.market/54274793/?hide_warning=1',
'https://lzt.market/53857013/?hide_warning=1',
'https://lzt.market/53788577/?hide_warning=1',
'https://lzt.market/53690625/?hide_warning=1',
'https://lzt.market/52949261/?hide_warning=1',
'https://lzt.market/51317519/?hide_warning=1',
'https://lzt.market/51317024/?hide_warning=1',
'https://lzt.market/51316043/?hide_warning=1',
'https://lzt.market/49905158/?hide_warning=1',
'https://lzt.market/47608777/?hide_warning=1',
'https://lzt.market/43422261/?hide_warning=1',
'https://lzt.market/43234191/?hide_warning=1',
'https://lzt.market/42591505/?hide_warning=1',
'https://lzt.market/31740988/?hide_warning=1',
];


// Helper function to add a delay (cooldown) between each link
function delay(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

// Function to write found links to a text file
function writeToFile(link) {
    fs.appendFileSync('found_links.txt', `${link}\n`, (err) => {
        if (err) throw err;
        console.log(`Successfully wrote ${link} to file.`);
    });
}

// Function to scrape a single URL using Puppeteer
async function scrapeUrl(url, retries = 3) {
    let browser;
    for (let attempt = 1; attempt <= retries; attempt++) {
        try {
            console.log(`\nFetching URL: ${url}, Attempt: ${attempt}`);

            // Connect to an existing browser session
            browser = await puppeteer.connect({
                browserURL: 'http://localhost:9222',
                defaultViewport: null, // Allow the default viewport size to be used
                //slowMo: 10 // Slow down Puppeteer operations for better stability
            });
            const page = await browser.newPage();

            // Capture console logs and network events for better debugging
            page.on('console', msg => console.log('PAGE LOG:', msg.text()));
            page.on('response', response => console.log(`Network request: ${response.url()} - Status: ${response.status()}`));

            console.log(`Navigating to URL: ${url}`);
            // Navigate to the URL
            await page.goto(url, { waitUntil: 'domcontentloaded', timeout: 30000 });

            // Wait to ensure the page is fully loaded
            await page.waitForSelector('body', { timeout: 30000 });
            console.log('Page loaded. Searching for keywords...');

            // Now that the page has loaded, search for the keywords
             const phraseKeyword = 'Collection: Gold Road';
            const allKeywords = ['Morrowind', 'Summerset', 'Elsweyr', 'Greymoor', 'Blackwood', 'High Isle', 'Necrom', 'Gold Road'];

            // Get the page content
            const pageContent = await page.evaluate(() => document.body.innerText); // Use innerText for more reliable content scraping

            // Debug: Print the first 200 characters of the page content
            console.log(`Page content preview: ${pageContent.slice(0, 200)}...`);

            // Check if it contains the specific phrase or all of the other keywords
            const containsPhrase = pageContent.includes(phraseKeyword);
            const containsAllKeywords = allKeywords.every(keyword => pageContent.includes(keyword));

            if (containsPhrase || containsAllKeywords) {
                console.log(`Keyword criteria met on URL: ${url}`);
                writeToFile(url); // Write the URL to the file if the criteria is met
				return;
            } else {
                console.log(`Keyword criteria not met on URL: ${url}. Moving to the next URL.`);
            }

            // Close the page but keep the browser session open
            await page.close();
            return pageContent;
        } catch (error) {
            console.error(`Error fetching URL: ${url} on attempt ${attempt} - ${error.message}`);

            if (attempt === retries) {
                console.error(`Max retries reached for URL: ${url}`);
            }

            if (browser) {
                await browser.disconnect(); // Ensure the browser connection is closed in case of failure
            }
        }
    }
}

// Function to scrape all URLs
async function scrapeAllUrls() {
    for (const url of urls) {
        console.log(`\nStarting to scrape: ${url}`);
        const content = await scrapeUrl(url);
        // Process or store the content here
        console.log('Finished scraping URL:', url); // Example: Print status after each URL
        
        // Add a 5-second cooldown between requests
        console.log('Cooldown: Waiting for 5 seconds before the next request...');
        await delay(250); // 5000 milliseconds = 5 seconds
    }
}

// Start the scraping process
scrapeAllUrls();

```

modify the entire script to use a headless tab instead