20 条回复  ·  301 次点击
daxin945 小成 2024-9-4 11:24:13
selenium + firefox 无头浏览器 部署在 arm 架构的国产化操作系统上跑过
horizon 初学 2024-9-4 11:27:32
@wangbin526 #2
清晰度有问题没
kenilalexandra 小成 2024-9-4 11:38:32
屏幕截图不行?
makerbi 小成 2024-9-4 12:19:46
Python 的话 Playwright 就可以,我是和你完全一样的需求,需要渲染 ECharts 图表,部署在阿里云函数,每次调用平均用时 4 秒的样子。
s2555 小成 2024-9-4 14:31:53
imgkit ,我上个帖子发的字帖生成就用这个,先生成 html ,再转成图片
hetal 小成 2024-9-4 14:45:22
https://github.com/hetao29/url2image
Oldletter 小成 2024-9-4 15:20:18
你的 arm 和 x64 还有问题呢(深度踩坑),应该 arm64 上的 pyppeteer 调用 chrome(开源的那个有问题),我之前写的是 pyppeteer 调用 firefox

Dockerfile
```
FROM node:16

# examples: https://github.com/puppeteer/puppeteer/blob/main/docker/Dockerfile

RUN apt-get update \
    && apt-get install -y wget gnupg firefox-esr fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-khmeros fonts-kacst fonts-freefont-ttf libxss1

ENV PUPPETEER_PRODUCT=firefox

WORKDIR /home/app

COPY ./package.json /home/app
COPY ./firefox.js /home/app

RUN npm install
RUN mkdir screenshots

CMD echo “Hello World”
```
调用
```
const puppeteer = require('puppeteer-core');
(async() => {
  const browser = await puppeteer.launch({
    product: 'firefox',
    headless: true,
    executablePath: "/usr/bin/firefox",
    defaultViewport: { width: 1700, height: 800 },
    args: [
    ]
});

const page = await browser.newPage();

await page.goto('https://www.baidu.com/');
console.log('saving baidu screenshot');
await page.screenshot({ path: 'screenshots/baidu.png', fullPage: true });

await browser.close();

})();
```

环境需要你自己搭建下
taoya7 小成 2024-9-4 15:25:18
satori

https://github.com/fercel/satori
xcsoft 初学 2024-9-4 15:33:39
go 的 chromeDP 也可以
seeu2ex 小成 2024-9-4 22:14:44
@dudubaba html2canvas 好像清晰度有问题,以前用过,后端不给下载,直接调这个下图片😹
返回顶部