Aaditya MathurA
Denoβ€’2y agoβ€’
3 replies
Aaditya Mathur

Getting errors while using puppeteer in deno environment

Here is my code(supabase edge function index.ts):

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
image.png
Was this page helpful?