Browser Automation

 20th August 2020 at 2:19pm

浏览器自动化,一般涉及到这些任务:

  • 需要跟浏览器做交互,比如点按钮、输入文本等
  • 截图、生成 PDF
  • 比较复杂的爬虫,比如爬 AJAX 动态生成的网站

通用的思路:

  • 利用浏览器插件 / UserScript,在浏览器层面解决
  • 利用 Headless Chrome 搭配编程库(如 puppeteer)来实现
    • 我现在熟练的是 puppeteer,但 nightmare 似乎也是个很好的工具
    • Chrome 插件 segmentio/daydream 可以根据你的操作生成 nightmare 或者 puppeteer 脚本
  • 相对弱的方案是,利用按键精灵等非 Web 平台的工具来做,可能在一些场景更简单粗暴

生成 PDF 的解决方案,参考 141 期的 CodeTengu,里面提到了 wkhtmltopdf 以及 WeasyPrint参考),暂不深入。

TOC