目前用的是 playwright ,但是当网页有十几页的时候就很慢,有其他方法吗
1. 需要等网页加载完成之后再生成 PDF
2. 可以设置生成 PDF 的宽度
3. 可以设置每页 PDF 的高度
1. 需要等网页加载完成之后再生成 PDF
2. 可以设置生成 PDF 的宽度
3. 可以设置每页 PDF 的高度
1
fzazhao Jan 20, 2024 via Android
用 Selenium
|
2
flyqie Jan 20, 2024 via Android
你需要的是无头浏览器。。
并且,你要转的到底是可复制的那种还是不可复制的那种? 不可复制的话无头浏览器直接截图拼,可复制的话就得调无头导 pdf 了。 |
3
youknowiam Jan 20, 2024
我用的 headless-chrome ,https://github.com/rust-headless-chrome/rust-headless-chrome ,Java 也有类似的框架。
|
5
cvbnt Jan 20, 2024 via Android
ironpdf ?
|
6
gouflv Jan 20, 2024 via iPhone
Playwright 的性能似乎比 Selenium 、Puppeteer 差一点
|
7
Dockerfile Jan 20, 2024
除了无头浏览器,还有一个 wkhtmltopdf ,但是效果应该比无头浏览器稍微差一点
|
11
linmt OP @youknowiam playwright 也是用的 headless-chrome
|
12
500 Jan 20, 2024
|
13
neoblackcap Jan 20, 2024
@flyqie 没记错的话,是 Puppeteer 那批人做的。相同的人,在 Google 做了 Puppeteer ,去微软做了 Playwright
|
14
linmt OP @paulluis2dev 这个也两年多没更新了,而且不支持 flex 和 grid 布局,用不了
|
15
kongkx Jan 20, 2024 via iPhone
目前看,样式支持最好是 headless chrome 。 要不先用命令行直接调 headless chrome 来测试一下性能? 定位一下是慢在哪里
|
16
dengji85 Jan 22, 2024
gotenberg ,封装好的无头浏览器,docker 运行,直接调用用它的 web 接口
|
17
jifengg Jan 22, 2024
楼主,给你个解决问题的思路:
1.“很慢”,是多慢? 2.既然“playwright 也是用的 headless-chrome”,那首先,你用浏览器打开“网页”,从打开到你调用浏览器打印命令打印到 PDF 文件完成,算算耗时; 3.如果第二步耗时明显短( 1/10 之类的),那么用 chrome --headless 试试打印这个网页看看是否也差不多; 4.如果还是明显比第一步时间短,那么可能是 playwright 某些问题导致的,可以考虑自己调 chrome 命令行或换一个 headless chrome 封装。 5.如果 1 、2 、3 耗时都差不多,那就和工具无关了 |
18
yh7gdiaYW Jan 22, 2024
@flyqie 微软挖了 puppeteer 的团队成员做的,前两年 star 涨的很快。相对来说,playwright 更偏向自动测试一些,且 API 更丰富友好
|
19
zhangdahai Jan 26, 2024
你确定 playwright 不能直接调用浏览器的 screenshot 方法?
|