首页
/ Shot-scraper项目新增多步骤截图间的命令执行机制

Shot-scraper项目新增多步骤截图间的命令执行机制

2025-07-06 08:19:18作者:戚魁泉Nursing

Shot-scraper作为一款强大的网页截图工具,近期在其多步骤截图功能中引入了一项重要改进——允许用户在连续截图操作之间执行自定义命令。这一功能扩展了工具的应用场景,特别是在需要动态修改目标网站内容后进行截图的自动化工作流中。

功能设计思路

传统上,shot-scraper的multi命令通过YAML配置文件定义一系列截图操作。新的改进引入了三种类型的中间操作指令:

  1. Shell命令执行:通过sh键指定,可直接运行系统命令

    - sh: echo "hello world" > index.html
    
  2. Python代码执行:通过python键指定,可运行任意Python代码片段

    - python: |
        open("index.html", "w").write("hello world")
    
  3. 文件写入操作:专为常见文件操作设计的简化语法

    - write: index.html
      content: hello world
      cleanup: true  # 可选,运行结束后自动删除文件
    

执行逻辑与控制

这些中间操作既可以作为独立步骤存在,也可以与截图操作结合使用:

  • 独立步骤:不包含url键的步骤将始终执行
  • 组合步骤:同时包含url和命令键的步骤会先执行命令再截图
  • 选择性执行:当使用-o参数指定特定输出文件时,只有包含对应output的步骤及其关联命令会被执行

典型应用场景

这项改进特别适合以下场景:

  1. 文档自动化:在生成网站文档时,先修改应用状态再截图
  2. 测试验证:测试不同配置下的UI表现
  3. 内容生成:动态创建或修改网页内容后捕获结果

实现细节

在底层实现上,shot-scraper会:

  1. 顺序解析YAML配置中的每个步骤
  2. 根据步骤类型执行相应操作
  3. 维护执行上下文(如创建的文件)
  4. 在适当时机进行清理(如标记了cleanup的文件)

这项功能使shot-scraper从一个简单的截图工具进化为了一个完整的网页状态捕获和文档生成系统,为开发者提供了更强大的自动化能力。

登录后查看全文
热门项目推荐
相关项目推荐