docker / main.ts
jljiu's picture
Update main.ts
20f8a32 verified
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 });