使用 codex 完成一个简单的浏览器自动化插件实践记录

背景

现在 ai agent 让编写浏览器插件这件事情变得异常简单,让我们可以从重复的页面操作中解放出来,比如一些自动化测试,自动化填表等等。但是很多刚接触 ai agent 的朋友没有这方面的经验,不知道从何入手。本文就以实验报告的形式,一步步完成一个简单的浏览器自动化 ai agent,抛砖引玉,希望对刚刚接触这块的朋友有所启发。哪里有不足也欢迎指正。

核心思想

把人在页面上的每一个操作都记录到 「流程文档」 中 (定位元素,点击元素,输入内容等),并且记录下关键元素的 html 块 (为代码复现操作提供依据。)。形成文档之后,拿给 ai agent 转化成一个浏览器插件项目。

材料准备

一个准备自动化的网站,这里以 deepseek 网页为例:https://chat.deepseek.com/
一个空的文档,用来记录自动化流程
一个浏览器,用来打开网页和分析摘抄关键 html 内容,测试阶段还将用来安装插件和测试功能。
一个 ai agent,这里以 codex 为例。(大家也可以自行选择顺手的 ai agent)
一个目录,用来存放插件代码。我这里使用用户目录下的 projects/auto-deepseek

步骤

  1. 创建一个 prd.md 文档 (txt 也可以,名字随意),随便存放在你能看到的位置,用一个你顺手的文档编辑器打开它,先把当前的目标写进去。比如:
# 产品说明书
## 目标
一个浏览器插件,用来自动化 deepseek 的登录以及发送请求
## 预期
用户在插件中输入用户名密码,可以自动登录 deepseek
## 插件页面设计
用户名输入框一个
密码输入框一个
开始按钮一个
## 插件流程

 

 

  1. 在浏览器打开目标网页:https://chat.deepseek.com/(如果是登录状态就退出一下)

     

  2. 记录流程到 prd.md 中
1. 打开网址 https://chat.deepseek.com/ ,进入登录页面,等待页面加载完成
  1. 按 f12,打开浏览器控制台

     

  2. 点击 「检查」 图标 (或者使用 Ctrl+Shift+C 快捷键),切换光标到检查状态

     

  3. 把光标移动到 「密码登录」 图标按钮上

     

  4. 点击左键,底部的 html 代码会自动聚焦到元素对应的 html 代码块
  5. 右键点击该代码块,选择右键菜单中的 「以 HTML 格式修改」

     

  6. 记录流程到 prd.md 中
2. 定位 「密码登录」 图标按钮:
  1. ctrl+A(全选), Ctrl+C(复制), 加入到流程说明文档 prd.md 中
<button role="button" ..... </button>

 

 

  1. 点击 「密码登录」 图标按钮,可以观察到已经变成了密码登录

     

  2. 记录流程到 prd.md 中
3. 点击 「密码登录」 图标按钮
  1. 光标切换检查状态:点击 「检查」 图标 (或者使用 Ctrl+Shift+C 快捷键),切换光标到检查状态

     

  2. 鼠标移动到 「手机号/邮箱」 输入框上

     

  3. 点击鼠标左键,自动定位到 「手机号/邮箱」 对应的 html 代码块
  4. 记录流程到 prd.md 中
4. 定位 「手机号/邮箱」 输入框:
  1. 右键点击该代码块,选择右键菜单中的 「以 HTML 格式修改」

     

  2. ctrl+A(全选), Ctrl+C(复制) 该代码块的内容,粘贴到 prd.md 中

    image 

  3. 光标聚焦到 「手机号/邮箱」 输入框,输入用户名
  4. 记录流程到 prd.md 中
5. 输入用户在插件上提供的手机号/邮箱

 

 

  1. 光标切换检查状态:点击 「检查」 图标 (或者使用 Ctrl+Shift+C 快捷键),切换光标到检查状态

     

  2. 鼠标移动到 「密码」 输入框上

     

  3. 点击鼠标左键,自动定位到 「密码」 对应的 html 代码块
  4. 记录流程到 prd.md 中
6. 定位 「密码」 输入框:

 

 

  1. 右键点击该代码块,选择右键菜单中的 「以 HTML 格式修改」

     

  2. ctrl+A(全选), Ctrl+C(复制) 该代码块的内容,粘贴到 prd.md 中

     

  3. 光标聚焦到 「手机号/邮箱」 输入框,输入密码
  4. 记录流程到 prd.md 中
7. 输入用户在插件上提供的密码
  1. 光标切换检查状态:点击 「检查」 图标 (或者使用 Ctrl+Shift+C 快捷键),切换光标到检查状态

     

  2. 鼠标移动到 「登录」 按钮上

     

  3. 点击鼠标左键,自动定位到 「登录」 按钮对应的 html 代码块

     

  4. 记录流程到 prd.md 中
8. 定位 「登录」 按钮:
  1. 右键点击该代码块,选择右键菜单中的 「以 HTML 格式修改」

     

  2. ctrl+A(全选), Ctrl+C(复制) 该代码块的内容,粘贴到 prd.md 中

     

  3. 点击 「登录」 按钮, 等待页面跳转完成,如果跳转到 https://chat.deepseek.com/页面,则表示登录成功。

     

  4. 记录流程到 prd.md 中
9. 点击登录按钮,等待页面跳转,如果跳转到 https://chat.deepseek.com/页面,则表示登录成功。

 

 

  1. 打开 codex,选择创建好的代码目录,把 prd.md 上传上去,输入提示词:在当前项目目录下依据 prd.md 文档说明的流程实现 chrome 插件,【可选提示词】:如果登录成功,在页面上放个烟花动画 (增加仪式感)

     

  2. 等待 codex 提示实现完成。

     

  3. 打开 chrome 浏览器,选择加载未打包的浏览器插件

     

  4. 选择项目目录,点击确定,完成加载

 

 

 

42. 登出 deepseek,为测试做好准备

 

  1. 把用户名密码填写到浏览器插件中,点击开始按钮

     

  2. 观察插件工作情况,预期能够完成自动化登录过程。

     

  3. 观察到没有一次性成功,不要气馁,这个是正常情况,把错误信息拿给 ai 进行修复即可 (这里我把登录输入框的 html 又一次给了 ai,其实是可以考虑去页面上拿更多信息给到 ai,我这里是偷懒了)

     

  4. 等待 codex 修复完成

     

  5. 去扩展程序页面重载插件

     

  6. 再次测试

     

  7. 观察到登录成功,本次浏览器自动化开发任务圆满成功
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。