Steel Browser Skill
Cloud browser-use via Steel.dev + Playwright Python SDK.
Ideal for web automation, scraping, form filling, and AI agent browser loops.
Prerequisites
CODEBLOCK0
Get your API key at https://app.steel.dev → Settings → API Keys (free: 100 browser hours).
Steel API key should be set in OpenClaw config or environment:
CODEBLOCK1
State Management
- -
start_session.sh saves session ID to INLINECODE1 - All scripts auto-load it from there
- Override anytime with INLINECODE2
- Sessions persist until
release_session.sh or timeout
Scripts
| Script | Usage | Description |
|---|
| INLINECODE4 | INLINECODE5 | Create session; prints SESSIONID + VIEWERURL |
| INLINECODE6 |
[SESSION_ID] | Release session |
|
list_sessions.sh |
(none) | List active sessions |
|
navigate.sh |
URL [--wait-until networkidle] | Go to URL |
|
screenshot.sh |
[OUTPUT.png] [--full-page] | Take screenshot |
|
click.sh |
SELECTOR | Click by CSS/text/aria selector |
|
click_coords.sh |
X Y [--right] [--double] | Click at pixel coords (fallback) |
|
type.sh |
SELECTOR "text" | Fill input field |
|
press_key.sh |
KEY | Press key (e.g.
Enter,
Control+a) |
|
scroll.sh |
AMOUNT\|--to-bottom\|--to-top\|SELECTOR | Scroll page |
|
hover.sh |
SELECTOR | Hover over element |
|
select.sh |
SELECTOR VALUE | Select dropdown option |
|
get_content.sh |
[--html] [SELECTOR] | Extract page text or HTML |
|
eval_js.sh |
"js expression" | Execute JavaScript, print result |
|
wait_for.sh |
SELECTOR [TIMEOUT_MS] | Wait for element to appear |
|
get_url.sh |
(none) | Print current URL and page title |
Selector Examples
Steel uses Playwright selectors — much more powerful than pixel coords:
CODEBLOCK2
Browser-Use Agent Loop Pattern
CODEBLOCK3
vs E2B Desktop
| Feature | Steel Browser | E2B Desktop |
|---|
| Selectors | Playwright CSS/text/aria ✅ | Pixel coords only |
| Proxy support |
✅ Residential proxies | ❌ |
| CAPTCHA solving | ✅ Built-in | ❌ |
| Non-browser tasks | ❌ | ✅ Desktop apps, terminal |
| Session viewer | ✅ Live URL | ✅ VNC stream |
Use Steel for web automation. Use E2B Desktop for desktop apps / full OS control.
Steel 浏览器技能
通过 Steel.dev + Playwright Python SDK 实现云端浏览器操作。
适用于网页自动化、数据抓取、表单填写以及 AI 智能体浏览器循环。
前置条件
bash
pip install steel-sdk playwright
export STEELAPIKEY=yourkeyhere
在 https://app.steel.dev → 设置 → API 密钥 获取 API 密钥(免费:100 浏览器小时)。
Steel API 密钥应在 OpenClaw 配置或环境变量中设置:
bash
openclaw config set env.STEELAPIKEY your_key
状态管理
- - startsession.sh 将会话 ID 保存到 ~/.steelstate
- 所有脚本自动从该文件加载会话 ID
- 随时可通过 export STEELSESSIONID= 覆盖
- 会话持续存在,直到执行 release_session.sh 或超时
脚本
| 脚本 | 用法 | 描述 |
|---|
| startsession.sh | [--proxy] [--captcha] [--timeout MS] | 创建会话;输出 SESSIONID + VIEWERURL |
| releasesession.sh |
[SESSION_ID] | 释放会话 |
| list
sessions.sh | (无参数)_ | 列出活跃会话 |
| navigate.sh | URL [--wait-until networkidle] | 导航到指定 URL |
| screenshot.sh | [OUTPUT.png] [--full-page] | 截取屏幕截图 |
| click.sh | SELECTOR | 通过 CSS/文本/aria 选择器点击 |
| click_coords.sh | X Y [--right] [--double] | 在像素坐标处点击(备用方案) |
| type.sh | SELECTOR text | 填充输入字段 |
| press_key.sh | KEY | 按下按键(例如 Enter、Control+a) |
| scroll.sh | AMOUNT\|--to-bottom\|--to-top\|SELECTOR | 滚动页面 |
| hover.sh | SELECTOR | 悬停在元素上 |
| select.sh | SELECTOR VALUE | 选择下拉选项 |
| get_content.sh | [--html] [SELECTOR] | 提取页面文本或 HTML |
| eval_js.sh | js expression | 执行 JavaScript,输出结果 |
| wait
for.sh | SELECTOR [TIMEOUTMS] | 等待元素出现 |
| get
url.sh | (无参数)_ | 输出当前 URL 和页面标题 |
选择器示例
Steel 使用 Playwright 选择器——比像素坐标强大得多:
bash
通过 CSS
click.sh #submit-button
click.sh .nav-link:first-child
通过文本内容
click.sh text=Sign in
click.sh button:has-text(Continue)
通过 aria 标签
click.sh [aria-label=Search]
click.sh [placeholder=Email address]
XPath
click.sh xpath=//button[@type=submit]
浏览器-智能体循环模式
bash
SCRIPTS=skills/steel-browser/scripts
1. 启动会话(对困难网站添加 --proxy --captcha)
source <($SCRIPTS/start_session.sh)
echo 会话: $SESSION_ID
echo 查看地址: $VIEWER_URL
2. 导航
$SCRIPTS/navigate.sh https://example.com
3. 智能体循环
while true; do
$SCRIPTS/screenshot.sh /tmp/screen.png
# 获取页面文本供 LLM 上下文使用
CONTENT=$($SCRIPTS/get_content.sh)
# LLM 决定操作...
ACTION=$(echo $CONTENT | llm_decide /tmp/screen.png)
case $ACTION_TYPE in
click) $SCRIPTS/click.sh $SELECTOR ;;
type) $SCRIPTS/type.sh $SELECTOR $TEXT ;;
navigate) $SCRIPTS/navigate.sh $URL ;;
done) break ;;
esac
done
4. 释放会话
$SCRIPTS/release_session.sh
对比 E2B Desktop
| 特性 | Steel 浏览器 | E2B Desktop |
|---|
| 选择器 | Playwright CSS/文本/aria ✅ | 仅像素坐标 |
| 代理支持 |
✅ 住宅代理 | ❌ |
| 验证码解决 | ✅ 内置 | ❌ |
| 非浏览器任务 | ❌ | ✅ 桌面应用、终端 |
| 会话查看器 | ✅ 实时 URL | ✅ VNC 流 |
使用 Steel 进行网页自动化。使用 E2B Desktop 进行桌面应用/完整操作系统控制。