OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  podman-browser:使用 Podman 和 Playwright 实现的无头浏览器自动化

podman-browser:使用 Podman 和 Playwright 实现的无头浏览器自动化

 
  cd ·  2026-02-16 14:57:52 · 3 次点击  · 0 条评论  

Podman 浏览器技能

使用 Podman + Playwright 进行无头浏览器自动化,用于抓取 JavaScript 渲染的页面。

要求

  • 已安装并运行 Podman 5.x 或更高版本
  • Node.js 18 或更高版本(用于运行 CLI)
  • 网络连接(首次运行会拉取约 1.5GB 的容器镜像)

安装

创建符号链接以便于访问:

chmod +x browse.js
ln -sf "$(pwd)/browse.js" ~/.local/bin/podman-browse

首次运行将拉取 Playwright 容器镜像(约 1.5GB)。

命令

podman-browse(或 ./browse.js

获取 JavaScript 渲染的页面并返回其文本内容。

podman-browse "https://example.com"

选项:

  • --html - 返回原始 HTML 而非文本
  • --wait <ms> - 页面加载后额外等待时间(默认:2000 毫秒)
  • --selector <css> - 等待特定元素出现后再捕获内容
  • -h, --help - 显示帮助信息

示例:

# 从 Hacker News 获取渲染后的文本内容
podman-browse "https://news.ycombinator.com"

# 获取原始 HTML
podman-browse --html "https://news.ycombinator.com"

# 等待特定元素出现
podman-browse --selector ".itemlist" "https://news.ycombinator.com"

# 为加载缓慢的页面设置额外等待时间
podman-browse --wait 5000 "https://news.ycombinator.com/newest"

工作原理

  1. 通过 Podman 运行微软官方的 Playwright 容器
  2. 在无头模式下使用 Chromium 浏览器
  3. 等待 JavaScript 渲染完成(网络空闲 + 自定义等待)
  4. 返回文本或 HTML 内容

容器镜像

使用 mcr.microsoft.com/playwright:v1.50.0-noble 镜像及配套的 playwright@1.50.0 npm 包(版本必须匹配)。

文件说明

  • browse.js - 独立的 Node.js CLI 工具(处理参数并启动 Podman)
  • SKILL.md - 本文档

注意事项

  • 首次运行会拉取容器镜像(约 1.5GB)
  • 使用 --ipc=host 以确保 Chromium 稳定性
  • 使用 --init 来处理僵尸进程
  • 以 root 身份运行时禁用沙箱(适用于受信任的网站)
  • 每次运行都会启动一个新的容器(环境干净,但耗时约 10-15 秒)
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor