Getting errors while using puppeteer in deno environment
Here is my code(supabase edge function index.ts):
@everyone please help me with this issue
import puppeteer from "https://deno.land/x/puppeteer@16.2.0/mod.ts";
Deno.serve(async (req) => {
try {
const { url } = await req.json();
const scrape = async (url: string) => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
const title = await page.title();
const emails = await page.evaluate(() => {
const emailRegex =
/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g;
const bodyText = document.body.innerText;
return bodyText.match(emailRegex);
});
const divData = await page.evaluate(() => {
const divs = Array.from(document.querySelectorAll("div"));
const extractDataFromDiv = (div: HTMLDivElement) => {
const divContent = div.innerText;
const splitContent = divContent
.split("\n")
.map((content) => content.trim())
.filter((content) => content !== "" && content.trim() !== "");
return splitContent;
};
return divs.map(extractDataFromDiv);
});
await browser.close();
return {
title,
emails,
content: divData,
};
};
const data = await scrape(url);
return new Response(
JSON.stringify(data),
{ headers: { "Content-Type": "application/json" } },
);
} catch (error) {
return new Response(`Error: ${error}`, { status: 500 });
}
});import puppeteer from "https://deno.land/x/puppeteer@16.2.0/mod.ts";
Deno.serve(async (req) => {
try {
const { url } = await req.json();
const scrape = async (url: string) => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
const title = await page.title();
const emails = await page.evaluate(() => {
const emailRegex =
/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g;
const bodyText = document.body.innerText;
return bodyText.match(emailRegex);
});
const divData = await page.evaluate(() => {
const divs = Array.from(document.querySelectorAll("div"));
const extractDataFromDiv = (div: HTMLDivElement) => {
const divContent = div.innerText;
const splitContent = divContent
.split("\n")
.map((content) => content.trim())
.filter((content) => content !== "" && content.trim() !== "");
return splitContent;
};
return divs.map(extractDataFromDiv);
});
await browser.close();
return {
title,
emails,
content: divData,
};
};
const data = await scrape(url);
return new Response(
JSON.stringify(data),
{ headers: { "Content-Type": "application/json" } },
);
} catch (error) {
return new Response(`Error: ${error}`, { status: 500 });
}
});@everyone please help me with this issue

