browserless integration with puppeteer

mail@pastecode.io avatar
unknown
javascript
a month ago
1.4 kB
2
Indexable
Never
// let puppeteer = require("puppeteer-core"); //require("puppeteer");
let puppeteer = require("puppeteer");

const fs=require('fs')

let chrome = {};

async function getElText(page, selector) {
  return await page.evaluate((selector) => {
    return document.querySelector(selector).innerText;
  }, selector);
}




   const BROWSERLESS_API_KEY =
  process.env["TOKEN"] || '<MY API KEY>'


 async function scrapePage(url) {
  let options = {
    // args: ["--no-sandbox"],
    // browserWSEndpoint: `wss://chrome.browserless.io?token=${BROWSERLESS_API_KEY}&stealth`,
    browserWSEndpoint: `wss://chrome.browserless.io?token=${BROWSERLESS_API_KEY}`,
  };



try{

	console.log('before connect')

	const browser = await puppeteer.connect(options);
	// const browser = await puppeteer.launch({headless: false})

	console.log('connected')

  const page = await browser.newPage();

  await page.goto(url, { timeout: 0 });



 

   // await page.waitForNavigation()
      await page.waitForTimeout(3000);

   const html= await page.content()



  
   // console.log('html: ',html)

   fs.writeFileSync('w3school.html',html)

   console.log('done')

   browser.close()
}

catch(err){
	console.log('err: ',err)
}

  



}


const url='https://www.educative.io/answers/puppeteer-vs-puppeteer-core'
scrapePage(url)