X.com (Twitter) — 智能体浏览器操作手册
X.com 上用于智能体浏览器的平台特定操作序列。 每个操作记录:前置条件、逐步的智能体浏览器命令、验证方法以及已知问题。
状态:所有章节 (1-7) 已测试并记录。 测试环境:agent-browser 0.24.0,Chrome CDP 端口 9222,账号 @mashijiann。 最后更新:2026-05-06
目录
设备定位:默认情况下,操作针对桌面版 Chrome 执行。要操作移动网页界面,请在
.env中设置DEVICE_PROFILE=ios|android,或在 agent-browser 命令前加上-p ios|android。记录操作时,请传递--device <target>以记录来源(这不影响去重——点赞是账号级别的)。
1. 浏览与阅读
1.1 打开主页时间线
目标:导航到主页时间线并确认加载成功。
前置条件:已登录(Chrome CDP 会话包含 cookie)。
步骤:
agent-browser open https://x.com/home
验证:
# 标题应包含 "Home / X"
agent-browser get title
# URL 应为 https://x.com/home
agent-browser get url
# 快照应显示区域 "Your Home Timeline" 和标签 "For you"
agent-browser snapshot -i -c -s '[role="region"]'
关键元素:
- 导航侧边栏:
navigation "Primary"— 包含链接:主页、搜索和探索、通知、私信、Grok、Premium、书签、个人资料 - 时间线标签:
tab "For you"(默认选中),tab "Following",可能还有自定义标签 - 发推区域:
textbox "Post text"— 主页上的内联发推区域 - 账号按钮:
button "Account menu"— 显示已登录用户名 - 时间线区域:
region "Your Home Timeline"— 包含article推文元素
已知问题:
- 无
1.2 通过 URL 打开特定推文
目标:直接导航到推文并阅读其内容。
前置条件:拥有推文 URL(例如 https://x.com/user/status/123456)。
步骤:
agent-browser open "https://x.com/<username>/status/<tweet_id>"
验证:
# 标题应包含作者姓名和推文内容预览
agent-browser get title
# URL 应与推文 URL 匹配
agent-browser get url
# 快照应显示包含完整文本和互动按钮的推文 article
agent-browser snapshot -i -c -s 'article'
关键元素(推文详情页):
- 推文 article:
article— 包含完整推文文本、作者信息、互动统计 - 作者链接:
link "<DisplayName> Verified account",link "@<username>" - 时间戳:
link "<time> · <date>"(例如"2:30 PM · May 5, 2026") - 查看数:
link "<N> Views" - 互动按钮:
button "N Reply. Reply",button "N reposts. Repost",button "N Likes. Like",button "N Bookmarks. Bookmark",button "Share post" - 订阅按钮:
button "Subscribe to @<username>"
已知问题:
- 无
1.3 按关键词搜索推文
目标:搜索匹配关键词或查询的推文,并阅读结果。
前置条件:已登录。
步骤:
# 对于“热门”结果(默认):
agent-browser open "https://x.com/search?q=<url_encoded_query>&src=typed_query"
# 对于“最新”结果:
agent-browser open "https://x.com/search?q=<url_encoded_query>&src=typed_query&f=live"
# 对于“用户”结果:
agent-browser open "https://x.com/search?q=<url_encoded_query>&src=typed_query&f=user"
# 对于“媒体”结果:
agent-browser open "https://x.com/search?q=<url_encoded_query>&src=typed_query&f=image"
验证:
# 标题应包含 "<query> - Search / X"
agent-browser get title
# 检查哪个标签处于活动状态
agent-browser snapshot -i -c -s '[role="tablist"]'
# 阅读搜索结果中的推文
agent-browser snapshot -i -c -s 'article'
关键元素:
- 搜索标签:
tab "Top",tab "Latest",tab "People",tab "Media",tab "Lists" - URL 参数
f控制标签:省略 = 热门,live= 最新,user= 用户,image= 媒体 - 返回按钮:
button "Back"— 返回上一页 - 每个结果是一个
article元素,结构与时间线推文相同
已知问题:
- 对查询字符串进行 URL 编码(空格 →
%20等) - 搜索结果显示“登录墙”(针对未认证会话)
- X 高级搜索运算符有效:
from:user,since:2026-01-01,min_faves:100等
1.4 查看用户个人资料
目标:导航到用户的个人资料,阅读其简介和最近的几条推文。
前置条件:拥有用户名或个人资料 URL。
步骤:
# 1. 导航到个人资料
agent-browser open "https://x.com/<username>"
# 2. 初始快照 — 通常只显示置顶推文(如果有)
agent-browser snapshot -i -c -s 'article'
# 警告:第一个 article 通常是置顶推文,而不是最新帖子。
# 必须向下滚动才能看到实际的最近帖子。
# 3. 向下滚动以加载最近的帖子(越过置顶推文和个人资料头部)
agent-browser scroll down 3000
agent-browser wait 2000
agent-browser snapshot -i -c -s 'article'
# 现在你应该看到第一个最近的(非置顶)帖子
# 4. 继续滚动以加载更多帖子 — 根据需要重复
agent-browser scroll down 3000
agent-browser wait 2000
agent-browser snapshot -i -c -s 'article'
验证:
# 标题应包含 "<DisplayName> (@<username>) / X"
agent-browser get title
# URL 应为 https://x.com/<username>
agent-browser get url
关键模式 — 浏览多个帖子:
# 要浏览用户个人资料的 N 个帖子,请使用此滚动循环:
# 每个滚动+等待周期由于虚拟化列表会揭示大约 1 个新帖子
for i in $(seq 1 N); do
agent-browser scroll down 3000
sleep 2 # 或:agent-browser wait 2000
agent-browser snapshot -i -c -s 'article'
# 处理可见的 article(s)
done
已知问题:
- 关键:初始页面视图通常只显示置顶推文。你必须向下滚动才能看到最近的帖子。 代理常常错误地认为置顶推文是唯一的内容。
- X 使用虚拟化列表 — 视口中只有 1-2 个 article 存在于 DOM 中。滚动过去的 article 会从 DOM 中移除。
- 滚动 3000px + 等待 2 秒可靠地加载下一批
- 置顶推文在其 article 描述的起始位置有文本
"Pinned"— 使用此标识来识别并跳过它 - 个人资料有标签:帖子、回复、高亮、媒体、喜欢 — 默认是“帖子”,它排除了回复。使用
https://x.com/<username>/with_replies查看帖子 + 回复。
1.5 阅读推文线程 / 回复
目标:打开一条推文,阅读其下的完整线程和回复。
前置条件:拥有推文 URL。
步骤:
# 1. 打开推文
agent-browser open "https://x.com/<username>/status/<tweet_id>"
# 2. 向下滚动加载回复
agent-browser scroll down 800
# 3. 阅读回复(它们作为额外的 article 元素出现在主推文下方)
agent-browser snapshot -i -c -s 'article'
验证:
# 应出现多个 article 元素 — 第一个是主推文,其余是回复
agent-browser snapshot -i -c -s 'article'
已知问题:
- 回复可能分页 — 查找
button "Show more replies"并点击它 - 可能会出现“显示可能垃圾内容”部分 — 跳过它
- 线程上下文(父推文)出现在主推文上方
- 引用推文点击陷阱:如果回复或时间线条目是引用推文,点击 article 主体会导航到被引用的原始帖子,而不是引用推文的详情页面。要导航到正确的推文,请点击时间戳链接。详见第 3.4 节的已知问题。
1.6 阅读通知
目标:打开通知标签页并阅读最近的通知。
前置条件:已登录。
步骤:
agent-browser open https://x.com/notifications
验证:
# 标题应包含 "Notifications / X"
agent-browser get title
# URL 应为 https://x.com/notifications
agent-browser get url
关键元素:
- 通知标签:全部、已验证、提及
- 侧边栏链接显示未读数:
link "Notifications (N unread notifications)"
已知问题:
- 通知有子标签:全部、已验证、提及
1.7 阅读私信
目标:打开私信并阅读最近的消息。
前置条件:已登录。
步骤:
# 注意:/messages 重定向到 /i/chat
agent-browser open https://x.com/messages
验证:
# URL 将变为 https://x.com/i/chat(自动重定向)
agent-browser get url
已知问题:
- URL 从
/messages重定向到/i/chat - DM UI 根据视口是侧面板或全页面
- 某些 DM 功能可能需要 X Premium
2. 互动 — 对内容做出反应
2.1 点赞推文
目标:点赞特定推文。
前置条件:位于推文可见的页面(时间线、推文详情、搜索结果)。
步骤:
# 1. 快照找到目标推文的点赞按钮
agent-browser snapshot -i -c -s 'article'
# 查找:目标 article 内的 button "N Likes. Like"(尚未点赞)
# 2. 点击点赞按钮
agent-browser click <like_button_ref>
验证:
# 再次快照 — 按钮文本应从 "Like" 变为 "Liked"
agent-browser snapshot -i -c -s 'article'
# 查找:button "N Likes. Liked"
元素识别:
- 未点赞:
button "N Likes. Like"— 文本以. Like结尾 - 已点赞:
button "N Likes. Liked"— 文本以. Liked结尾 - 点赞数 N 在点赞后增加 1
已知问题:
- 速率限制:X 可能会限制快速点赞
- 状态更改后按钮引用可能改变(重新快照以获取新引用)
2.2 取消点赞推文
目标:移除对之前点赞的推文的点赞。
前置条件:推文已被点赞。
步骤:
# 1. 快照找到已点赞按钮
agent-browser snapshot -i -c -s 'article'
# 查找:button "N Likes. Liked"
# 2. 点击同一按钮以取消点赞
agent-browser click <liked_button_ref>
验证:
# 按钮文本应从 "Liked" 恢复为 "Like"
agent-browser snapshot -i -c -s 'article'
# 查找:button "N Likes. Like"
元素识别:
- 同一按钮在 Like/Liked 状态之间切换
- 引用可能在状态之间改变 — 始终重新快照
已知问题:
- 无
2.3 转发
目标:将推文转发到自己的时间线。
前置条件:位于推文可见的页面。
步骤:
# 1. 快照找到转发按钮
agent-browser snapshot -i -c -s 'article'
# 查找:button "N reposts. Repost" [expanded=false]
# 2. 点击转发按钮 — 这会打开一个下拉菜单,而不是直接执行操作
agent-browser click <repost_button_ref>
# 3. 快照查看下拉菜单项
agent-browser snapshot -i -c -s '[role="menuitem"]'
# 显示:menuitem "Repost" 和 menuitem "Quote"
# 4. 点击 "Repost" 菜单项执行转发
agent-browser click <repost_menuitem_ref>
验证:
# 快照 — 按钮文本应从 "Repost" 变为 "Reposted"
agent-browser snapshot -i -c -s 'article'
元素识别:
- 转发按钮:
button "N reposts. Repost" [expanded=false] - 下拉项:
menuitem "Repost"和menuitem "Quote" - 转发后:按钮变为
button "N reposts. Reposted"
已知问题:
- 两步操作:点击按钮打开下拉菜单,然后必须点击菜单项
- 要取消/关闭下拉菜单而不操作:
…
[因翻译截断]