VCMonitor 开发笔记

date
Aug 21, 2022
slug
build-vcmonitor
status
Published
tags
product
Node.js
Docker
summary
type
Post

前言

未完成。

笔记

  • [1] 除了对整个页面进行截取,Chrome 还支持对页面某个元素进行截取。通过 elementHandle.screenshot() 可针对具体元素进行截取。
    • 这就很实用了,能够满足大部分自定义的需求。大多数情况下,我们只对 body 部分感兴趣,通过只对 body 进行截取,就不用指定长宽而且自动排除掉 body 外多余的留白等。其参数与 page.screenshot() 一样。需要注意的是,虽说一样,但其中是不能使用 fullPage 参数的。因为针对元素进行图片截取已经表明是局部截图了,与 fullPage 截取整个页面是冲突的,但它还是会自动滚动以截取完整的这个元素, fullPage 的优点没有丢掉。
  • [3] 本文的 pageScraper.js 代码似乎有点问题。具体来说,这个函数
    • 在本地测试一切正常。在 Docker 中运行,当第二遍执行任务时几乎都会报错:
      resolveawait 调换顺序后不再出现错误。

参考资料

  1. Puppeteer 截图及相关问题 - 博客园
  1. jsdiff+diff2html - CodeSandbox
  1. How To Scrape a Website Using Node.js and Puppeteer | DigitalOcean
  1. Log4js logging with global logger helper - Log4js in NodeJS - Youtube
  1. Running Puppeteer in Docker Troubleshooting | Puppeteer
 

© e 2021 - 2024 site logo