File size: 1,039 Bytes
c111c49
84ed8ae
f431b08
c111c49
 
 
20f8a32
c111c49
 
 
 
 
 
 
 
 
 
 
 
 
 
f431b08
c111c49
20f8a32
c111c49
f431b08
 
84ed8ae
c111c49
9e00450
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import puppeteer from "https://deno.land/x/puppeteer@16.2.0/mod.ts";

const handler = async (req: Request): Promise<Response> => {
  // 启动Puppeteer浏览器实例
  const browser = await puppeteer.launch({
    headless: true, // 设置为无头模式,不显示浏览器界面
    args: ["--no - sandbox"], // 一些环境可能需要添加此参数来避免沙箱问题
  });
  const page = await browser.newPage();

  // 导航到要截图的页面,这里以示例网站为例,你可以替换成你想要截图的实际网址
  await page.goto("https://www.example.com");

  // 进行截图
  const screenshot = await page.screenshot({ fullPage: true });

  // 关闭浏览器实例
  await browser.close();

  // 返回包含截图的响应,设置合适的响应头让浏览器能正确识别为图片
  return new Response(screenshot, {
    status: 200,
    headers: {
      "Content - Type": "image/png",
    },
  });
};

import { serve } from "https://deno.land/std@0.153.0/http/server.ts";
serve(handler, { port: 7860 });