Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

html-element-to-selenium-automationHTML element TO selenium 自动化

Agent Skill

html-element-to-selenium-automation 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,651

周安装

190

GitHub Stars

公开资料未说明

下载量

1,505
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:html-element-to-selenium-automation(HTML element TO selenium 自动化)
来源仓库:https://github.com/icestorms/html-element-to-selenium-automation
安装命令:
openclaw skills install html-element-to-selenium-automation
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install html-element-to-selenium-automation

简介

将网页转换为可运行的 Python Selenium 自动化脚本,支持中文触发词。

  • 适用于网页数据整理、表单填写或重复操作自动化的场景。
  • 识别页面元素并生成对应操作代码,降低手动编写复杂度。
  • 安装命令:openclaw skills install html-element-to-selenium-automation,需确认目标网站允许自动化访问。
  • 注意反爬机制可能导致脚本失效,建议添加延迟与错误重试逻辑。

SKILL.md

name
html-to-selenium
description
将任意网页转换为可运行的 Python Selenium 自动化脚本. 使用场景: (1) 分析网页结构并生成自动化代码; (2) 帮用户完成指定网页操作 (登录、填表、点击、搜索等); (3) 生成 Selenium 脚本骨架. 当用户提到"分析页面"、"生成 selenium"、"网页自动化"、"帮我操作 xxx"、"帮我完成 xxx"时触发.

html-to-selenium

概述

接收 URL → 通过 Playwright 获取截图 + HTML DOM → AI 分析页面类型与结构 → 输出:

  1. 页面结构描述 + 操作逻辑
  2. 关键信息提取 (表单 action、API endpoint、session 状态)
  3. 完整可运行的 Python Selenium 代码
  4. 操作步骤示例 (每个有效操作的定位方式 + Selenium 方法 + 执行结果)

工作流程

用户提供 URL
      │
      ▼
  Step 1: 抓取页面
  ┌──────────────────────────────────────┐
  │  fetch_page.py                       │
  │  - Playwright 打开 URL               │
  │  - 等待页面渲染完成                   │
  │  - 全页截图 + 完整 HTML DOM           │
  │  - 输出: screenshot.png, html.html    │
  └──────────────┬───────────────────────┘
                 │
                 ▼
  Step 2: AI 判断页面类型
  ┌──────────────────────────────────────┐
  │  输入: 截图 + HTML + URL + title     │
  │                                      │
  │  A. 目标页 = 登录页                   │
  │     → 直接分析登录表单结构             │
  │     (作为分析任务本身, 不触发登录)      │
  │                                      │
  │  B. 中途被重定向到登录页               │
  │     → AI 输出: 登录逻辑 + 凭据需求     │
  │     → 等待用户提供凭据                 │
  │     → 执行登录 → 返回目标页            │
  │     → 继续分析                        │
  │                                      │
  │  C. 公开页面 (无需登录)               │
  │     → 直接进入分析流程                 │
  └──────────────┬───────────────────────┘
                 │
                 ▼
  Step 3: 生成输出
  ┌──────────────────────────────────────┐
  │  页面结构描述                          │
  │  操作逻辑 (点击链、表单提交、AJAX)      │
  │  有用信息 (API、URL 参数、session)     │
  │  Python Selenium 代码                 │
  │  操作步骤示例 (每个有效操作详细记录)    │
  └──────────────────────────────────────┘

Step 1 — 抓取页面

python scripts/fetch_page.py <url> --output <目录> --wait <秒>
  • --output: 保存目录, 默认当前目录. 建议用有意义的名字如 temp/example_com
  • --wait: 页面加载后等待秒数, 默认 3. 动态页面可调大 (5-8)
  • --login / -l: 检测到登录页时尝试自动登录
  • --username / -u + --password / -p: 登录凭据 (如需要)

输出文件:

  • screenshot.png — 全页截图
  • screenshot_viewport.png — 视口截图
  • html.html — 渲染后的完整 HTML DOM
  • meta.json — 页面元信息 (URL、title、元素计数、page_type)

重要: 必须等页面完全渲染后再抓取 HTML (wait_until="networkidle" + 额外等待), 否则拿到的可能是空的半加载状态.

Step 2 — AI 页面类型判断

接收以下信息, 综合判断:

输入用途
screenshot.png视觉判断: 纯登录页 / 登录弹窗覆盖 / 正常内容页
html.htmlDOM 判断: 表单数量、input 类型、class/id 特征
meta.jsonURL 变化: 访问前后 URL 是否一致
title辅助判断: 页面标题关键词

页面类型判断标准

A. 目标页 = 登录页 (page_type = "login_required", 且 URL 本身含 login/signin/auth)

  • 处理: 把登录表单本身作为分析对象, 不触发自动登录
  • 分析重点: 用户名/密码字段特征、记住登录、多因素认证、表单 action

B. 中途被重定向到登录页 (page_type = "login_required", 但 URL 不是登录页)

  • 处理: AI 输出"需要登录"提示 + 需要的凭据说明, 等待用户或上级 Agent 提供
  • 提供凭据后: 读取 selenium-patterns.md 执行真实点击登录 → 等待回到目标页 → 继续

C. 公开页面 (page_type = "public")

  • 处理: 直接进入分析流程

登录流程 (情况 B)

当需要登录时, 使用 selenium-patterns.md 中的规范:

# 填入用户名
username = driver.find_element(By.NAME, "username")  # 或其他定位
username.click()
username.send_keys(Keys.CONTROL + "a")
username.send_keys(Keys.DELETE)
username.send_keys(credentials["username"])

# 填入密码
password = driver.find_element(By.NAME, "password")
password.click()
password.send_keys(Keys.CONTROL + "a")
password.send_keys(Keys.DELETE)
password.send_keys(credentials["password"])

# 点击登录 (真实用户点击, 禁止 JS click)
submit = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH, "//button[@type='submit']"))
)
ActionChains(driver).move_to_element(submit).click().perform()

# 等待回到目标页
WebDriverWait(driver, 15).until(
    lambda d: "/login" not in d.current_url
)

Step 3 — 输出内容

3.1 页面结构描述

用自然语言描述页面组成:

  • 语义分区 (顶部导航 / 侧边栏 / 主内容区 / 底部)
  • 关键元素位置与作用
  • 表单结构 (有哪些字段、必填项)

3.2 操作逻辑

描述操作流程:

  • 点击链: 哪个按钮 → 哪个页面/弹窗
  • 表单提交流程: 哪个按钮提交, 如何验证
  • AJAX/动态行为: 哪些操作触发异步请求

3.3 关键信息提取

# 示例
INFO = {
    "表单 action": "https://example.com/api/submit",
    "API endpoint": "https://example.com/api/users/search",
    # Session 状态: 仅当页面 DOM 显式暴露时提取,fetch_page.py 不主动提取或传输
    "Session Token": "xxx (DOM 可见时提取, 非自动行为)",
    "关键元素": {
        "用户名": "#username (id)",
        "密码": "#password (id)",
        "提交": "button[type=submit] (xpath text='登录')",
    },
    "URL 参数": "?redirect=/dashboard",
}

3.4 Python Selenium 代码

必须遵循 references/selenium-patterns.md 中的规范, 重点:

  • 真实用户点击: ActionChains.move_to_element().click(), 禁止 execute_script("click")
  • 显式等待: WebDriverWait + expected_conditions, 禁止 time.sleep() 作为主要方式
  • 安全输入: click()Ctrl+ADeletesend_keys()
  • 截图对比: 关键步骤前后截图保存

3.5 操作步骤示例 (必须输出)

每个有效操作必须记录为以下格式的步骤, 复杂操作拆分为 1、2、3...:

# ✅ 操作1: [操作名称]
# 定位: [定位方式] → [具体选择器]
# 方法: [Selenium 调用链]
# 结果: [执行后的页面状态描述]

# 示例:
# ✅ 操作1: 点击左侧导航"用户管理"
# 定位: CSS selector → ".sidebar .nav-item[data-tab='users']"
# 方法: ActionChains.move_to_element().click()
# 结果: 页面加载用户管理视图, URL 变为 /admin/users

# ✅ 操作2: 在搜索框输入关键词
# 定位: XPath → "//input[@placeholder='搜索...']"
# 2.1: 点击聚焦 → click()
# 2.2: 清空内容 → send_keys(Keys.CONTROL+"a") → send_keys(Keys.DELETE)
# 2.3: 输入文本 → send_keys("admin")
# 结果: 输入框显示"admin", 触发前端搜索过滤

# ✅ 操作3: 点击搜索结果中的"编辑"按钮
# 定位: partial link text → "//button[contains(text(),'编辑')]"
# 方法: ActionChains.move_to_element().click()
# 结果: 弹出编辑弹窗, 截图已保存

快速参考

触发方式

用户说这些关键词时加载本 skill:

  • "分析页面"
  • "生成 selenium"
  • "网页自动化"
  • "帮我操作 xxx 页面"
  • "帮我完成 xxx"
  • "做个 xxx 的自动化"
  • 提供 URL 并要求生成自动化代码

文件路径 (skill 内部)

文件用途何时读取
scripts/fetch_page.py页面抓取 (截图 + HTML)Step 1
references/selenium-patterns.mdSelenium 规范与代码片段生成代码时
references/examples.md操作步骤示例模板生成示例时
SKILL.md主工作流说明触发时

快速命令模板

# 抓取公开页面
python scripts/fetch_page.py https://example.com/page --output temp/example

# 抓取并自动登录 (如遇登录拦截)
python scripts/fetch_page.py https://example.com/protected \
    --output temp/example \
    --login \
    --username "user@email.com" \
    --password "password123"

重要限制

  • 凭据不在对话中硬编码. 情况 B 登录时, 凭据必须由用户或上层 Agent 在对话中提供
  • 不处理复杂验证码 (滑块/点选/文字). 如遇验证码, 输出提示并等待人工介入
  • 不处理 MFA (短信/APP 验证码). 同样输出提示等待介入

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

70.15%
按下载量换算1,056

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills