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 }); |