eBay Business Registration
/install ebay-business-registration
eBay 企业注册技能(Skill)
目标:将 eBay 企业注册全流程固化为可复用技能,每次新法人注册时直接调用。
适用范围:邓辉、蒋海全及后续所有法人
核心方案:ActionChains 真人模拟输入(解决 React 检测问题)
版本:v2.0(2026-06-16 更新)
一、环境准备
1.1 必备文件清单
每个法人一个文件夹:
C:/Users/win/Desktop/注册资料/{法人姓名}/
├── 注册资料.txt # 所有账号信息(GBK编码)
├── 营业执照.png # 高清扫描件(300dpi+)
├── 身份证正面.png
├── 身份证反面.png
├── 照片.jpg
└── 其他文件...
1.2 注册资料模板
法人姓名:
法人姓名拼音:
出生日期:
身份证号:
个人地址中文:
个人邮编:
个人地址英文:
邮箱:
邮箱密码:
ebay账号:(就是注册邮箱)
ebay密码:
ebay用户名:(脚本随机生成,当场记录)
Payoneer邮箱:
Payoneer密码:
ebay手机号:(接码后当场记录)
Payoneer手机号:(接码后当场记录)
Payoneer安全问题:
ebay信用卡号:
ebay信用卡有效期:
ebay信用卡CVV:
Payoneer银行名称:
Payoneer银行卡号:
Payoneer银行地址:
公司中文名:
公司英文名:
统一社会信用代码:
公司注册日期:
公司邮编:
公司地址中文:
公司地址英文:
1.3 HubStudio 环境配置
| 法人 | 环境 ID | 状态 |
|---|---|---|
| 邓辉 | 1662847622 | 已完成 |
| 蒋海全 | 1661613428 | 待继续 |
规则:每个法人独立环境,绝对不能混用。
1.4 Chrome 连接配置
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
chrome_options = Options()
chrome_options.add_experimental_option('debuggerAddress', '127.0.0.1:59560')
driver_path = 'C:/Users/win/.cache/selenium/chromedriver/win64/149.0.7827.115/chromedriver.exe'
service = Service(driver_path, service_args=['--disable-build-check'])
driver = webdriver.Chrome(service=service, options=chrome_options)
注意:
- ChromeDriver 版本不匹配用
--disable-build-check绕过 - debug port 从 HubStudio 进程命令行获取(
--remote-debugging-port=59560)
二、Phase 1: 养会话(关键!)
目的:降低 hCaptcha 触发概率
步骤:
- 访问 Google.com(停留 30 秒)
- 搜索 Wikipedia 并点击(停留 30 秒)
- 随机点击 3-5 个链接(停留 1 分钟)
- 访问 Amazon.com(停留 30 秒)
- 浏览商品页(停留 30 秒)
总时长:3-5 分钟
效果:养会话后 hCaptcha 触发概率降低,但仍可能需要人工点击
三、Phase 2: eBay 商业注册
3.1 进入注册页面
推荐方式:
- 访问
https://www.ebay.com.hk - 点击右上角「注册」
- 选择「商业账号」
避免方式:直接访问注册 URL(更容易触发验证)
3.2 填写表单(ActionChains 方案)
核心函数:
from selenium.webdriver.common.action_chains import ActionChains
import random
def human_typing(element, text, min_delay=0.05, max_delay=0.3):
"""模拟人类打字:逐字符输入,随机间隔"""
actions = ActionChains(driver)
# 1. 聚焦 + 清空(Ctrl+A + Delete)
actions.move_to_element(element).click().pause(0.2)
actions.key_down('ctrl').send_keys('a').key_up('ctrl').pause(0.1)
actions.send_keys(Keys.DELETE).pause(0.2)
actions.perform()
# 2. 逐字符输入
for i, char in enumerate(text):
if random.random() \x3C 0.1:
delay = random.uniform(0.3, 0.6) # 10%概率慢
else:
delay = random.uniform(min_delay, max_delay)
actions.send_keys(char).pause(delay)
# 长文本中途停顿
if i > 0 and i % 8 == 0 and random.random() \x3C 0.2:
actions.pause(random.uniform(0.3, 0.8))
actions.perform()
# 3. 输入后停顿
time.sleep(random.uniform(0.3, 0.6))
字段速度配置:
| 字段类型 | 速度(min~max) | 说明 |
|---|---|---|
| 0.05~0.15s | 常用,快 | |
| password | 0.1~0.3s | 谨慎,慢 |
| name | 0.08~0.2s | 中等 |
| address | 0.04~0.12s | 长文本,快 |
| card | 0.15~0.35s | 信用卡,慢 |
| cvv | 0.2~0.4s | 极短,仔细 |
3.3 hCaptcha 处理
现象:提交后触发「I am a real visitor」复选框
处理流程:
- 脚本检测到 hCaptcha 元素
- 暂停执行,提示用户:「遇到hCaptcha,请手动点击复选框,然后回复'继续'」
- 用户手动点击后,脚本继续
注意:目前无可靠自动化方案,必须人工干预。
3.4 邮件验证
自动读取:
import imaplib
import email
import re
def read_email_code(email_addr, password):
mail = imaplib.IMAP4_SSL('mail.email.cn')
mail.login(email_addr, password)
mail.select('inbox')
_, data = mail.search(None, 'ALL')
mail_ids = data[0].split()
if not mail_ids:
return None
latest_id = mail_ids[-1]
_, msg_data = mail.fetch(latest_id, '(RFC822)')
raw_email = msg_data[0][1]
email_message = email.message_from_bytes(raw_email)
# 提取正文
body = ""
if email_message.is_multipart():
for part in email_message.walk():
if part.get_content_type() == "text/plain":
body = part.get_payload(decode=True).decode()
break
else:
body = email_message.get_payload(decode=True).decode()
# 提取6位验证码
code = re.search(r'\b\d{6}\b', body)
if code:
return code.group()
mail.logout()
注意:
- 验证码时效约 5-10 分钟
- 读取后立即输入,避免超时「工作階段已逾時」
- 超时后需重新填写整个表单
3.5 手机验证
国家选择(没有 +86 的问题):
driver.execute_script("""
var rows = document.querySelectorAll('.phRow');
for(var i=0; i\x3Crows.length; i++) {
if(rows[i].textContent.includes('中国大陆') || rows[i].textContent.includes('China')) {
rows[i].click();
break;
}
}
""")
接码平台:
- 主用:好租码项目 23364(190 号段)
- 备用:用户手机号(如 13682374184)
- 废弃:项目 23346(162 号段被屏蔽)
API 调用:
import requests
# 获取手机号
url = f"https://www.haozuma.com/api?token=***&action=getPhone&pid=23364"
resp = requests.get(url, timeout=10).json()
phone = resp.get('phone')
# 获取验证码
url = f"https://www.haozuma.com/api?token=***&action=getMessage&pid=23364&phone={phone}"
for _ in range(30):
resp = requests.get(url, timeout=10).json()
code = resp.get('code')
if code:
return code
time.sleep(2)
注意:
- 好租码 API 不稳定(getBalance 返回 444),仅使用 getPhone 和 getMessage
- 接码成功后当场记录手机号到注册资料.txt
四、Phase 3: 企业卖家认证
4.1 公司资料填写
| 字段 | 填写值 | 注意事项 |
|---|---|---|
| 统一社会信用代码 | 营业执照上的代码 | 如 91340822397046620U |
| 公司注册日期 | 营业执照日期 | 格式 YYYY-MM-DD |
| 公司注册地址 | 营业执照地址 | 中文填写 |
| 公司英文地址 | 拼音无空格 | 如 anhuishenganqingshihuainingxianyueshanzhenyueshanshequ |
英文地址规则:拼音连写,无空格,避免被系统拆分后恢复中文。
4.2 营业执照上传
file_input = driver.find_element(By.CSS_SELECTOR, "input[type='file']")
file_input.send_keys('C:/Users/win/Desktop/注册资料/邓辉/营业执照.png')
4.3 法人资料
| 字段 | 填写值 | 注意事项 |
|---|---|---|
| 拼音姓名 | Hui Deng | 姓和名分开,首字母大写 |
| 出生日期 | 1993-07-11 | 与身份证一致 |
| 地址 | 身份证地址拼音 | 英文格式 |
| 身份证 | 上传正反面 | 分别上传 |
React 复选框勾选(职务选择):
from selenium.webdriver.common.action_chains import ActionChains
actions = ActionChains(driver)
checkbox = driver.find_element(By.XPATH, "//input[@type='checkbox' and @name='legalRepresentative']")
actions.move_to_element(checkbox).click().pause(0.2).perform()
注意:不要使用 .click() 或 JS checked=true,React 组件检测不到。
五、Phase 4: Payoneer 注册与绑定
5.1 从 eBay 跳转 Payoneer
iframe 切换:
iframes = driver.find_elements(By.TAG_NAME, 'iframe')
if len(iframes) > 1:
driver.switch_to.frame(iframes[1]) # 切换到内容 iframe
# 点击按钮
button = driver.find_element(By.XPATH, "//button[contains(text(), '儲存並繼續')]")
button.click()
# 完成后切回主页面
driver.switch_to.default_content()
5.2 跳转 token 过期
现象:点击后显示「Looks like we've got a problem」
解决:返回 eBay 重新点击「儲存並繼續」获取新 token,多次尝试直到成功。
5.3 Payoneer 邮箱验证
验证码过期:
- 输入后报错「出现了意外情况」
- 点击「再次發送電郵」重新获取
- 新验证码约 30 秒到达
5.4 地址填写(重要规则)
⚠️ Payoneer 地址必须全部填写拼音,不能填写英文格式。
❌ 错误:Anqing City, No. 94 Laowu Village, Qixian Road ✅ 正确:Anqing Shi, 94 Laowu Cun, Qixian Lu
5.5 银行账户持有者选择
选择:个人账户「邓辉」(不要选公司账户)
下拉框展开:
dropdown = driver.find_element(By.XPATH, "//div[contains(@class, 'dropdown')]")
dropdown.click()
time.sleep(1)
# 点击下拉框下方约 100px 位置展开选项
from selenium.webdriver.common.action_chains import ActionChains
actions = ActionChains(driver)
actions.move_to_element(dropdown).move_by_offset(0, 100).click().perform()
5.6 银行账户填写
| 字段 | 填写值 | 来源 |
|---|---|---|
| 居民身份证号码 | 440223199307110510 | 身份证 |
| 银联卡号 | 6223482274523974 | 银行卡 |
| 账户名称(中文) | 邓辉 | 银行卡开户名 |
| 账户持有人(英文) | Hui Deng | 拼音 |
| 银行名称 | 中国银行 | 开户行 |
| 支行名称 | 中国银行广东南雄支行 | 完整支行名 |
六、Phase 5: 信用卡绑定(关键!)
6.1 信用卡信息填写
| 字段 | 填写值 | 速度 |
|---|---|---|
| 卡号 | 5324105540194912 | card (0.15~0.35s) |
| 有效期 | 12/29 | cvv (0.2~0.4s) |
| CVV | 100 | cvv (0.2~0.4s) |
| 名字 | Hui | name (0.08~0.2s) |
| 姓氏 | Deng | name (0.08~0.2s) |
| 账单地址 | 拼音格式 | address (0.04~0.12s) |
| 城市 | Nanxiong | name |
| 省份 | 广东省(下拉选择) | - |
| 邮编 | 512400 | cvv |
| 电话 | 13682374184 | card |
6.2 信用卡姓名问题(核心解决方案)
现象:确认页面显示 HuiHuiHui DengDengDeng(姓名重复)
根本原因:React 组件状态未检测到输入变化,或多次提交拼接。
解决方案(ActionChains):
# 1. 清空名字字段(Ctrl+A + Delete,触发键盘事件)
actions = ActionChains(driver)
actions.move_to_element(first_name_field).click().pause(0.2)
actions.key_down('ctrl').send_keys('a').key_up('ctrl').pause(0.1)
actions.send_keys(Keys.DELETE).pause(0.2)
actions.perform()
# 2. 逐字符输入,触发 input 事件
for char in 'Hui':
actions.send_keys(char).pause(random.uniform(0.1, 0.2))
actions.perform()
# 3. Tab 切换到姓氏字段
actions.send_keys(Keys.TAB).pause(0.2)
actions.perform()
# 4. 同样方式输入姓氏
for char in 'Deng':
actions.send_keys(char).pause(random.uniform(0.1, 0.2))
actions.perform()
# 5. 点击空白触发 blur 事件
body = driver.find_element(By.TAG_NAME, 'body')
actions.move_to_element(body).click().pause(0.3)
actions.perform()
# 6. 验证姓名
page_text = driver.find_element(By.TAG_NAME, 'body').text
if 'Hui Deng' in page_text:
print("✅ 姓名正确")
elif 'HuiHuiHui' in page_text:
print("❌ 姓名重复,需要手动修复")
注意:如果 ActionChains 仍然无效,用户手动在浏览器中修正。
七、Phase 6: 查询销售额度
URL:https://www.ebay.com.hk/mys/overview
查看:Selling limits
示例:
Monthly limit: 25 items or HK$ 5,485.16
Your username: joseph_858747
文件夹归档
- 将文件夹从
{法人姓名}重命名为{法人姓名}---{额度}件 - 示例:
邓辉→邓辉---25件
八、Phase 7: Payoneer 验证中心
8.1 登录 Payoneer
URL:https://login.payoneer.com/
注意:密码长度限制 30 位,但实际可输入更多(如 31 位)。
8.2 所需文件清单
| 文件类型 | 状态 | 要求 |
|---|---|---|
| 企业身分(营业执照) | 需重新提交 | 原始文件,数码文件必须为原始文件 |
| 地址证明 | 待提交 | 水电账单、银行对账单 |
| 注册商业地址 | 待提交 | 房产证或租赁合同 |
| 政府签发的身份证件 | 已提交 | 身份证正反面 |
| 业务持份者信息 | 已提交 | 邓辉 Hui Deng (100%) |
记录到注册资料.txt:
==== Payoneer 验证中心所需文件 ====
日期:YYYY-MM-DD
状态:审核中
1. 企业身分(营业执照)- 需重新提交 - 需提交从签发人收到的原始文件
2. 地址证明 - 待提交 - 水电账单/银行对账单
3. 注册商业地址 - 待提交 - 房产证或租赁合同
4. 身份证件 - 已提交
5. 业务持份者信息 - 已提交
九、所有问题汇总(15个)
| 编号 | 问题 | 现象 | 解决方案 | 状态 |
|---|---|---|---|---|
| 1 | hCaptcha 人机验证 | 提交后触发复选框 | 养会话 + 人工点击 | 已解决 |
| 2 | 好租码虚拟号段被屏蔽 | 162 开头收不到 SMS | 使用项目 23364(190号段) | 已解决 |
| 3 | 好租码 API 不稳定 | getBalance 返回 444 | 仅使用 getPhone/getMessage | 已解决 |
| 4 | 邮箱尝试次数上限 | 同一邮箱超限 | 准备 5-10 个备用邮箱 | 已解决 |
| 5 | eBay 会话超时 | 2-3 分钟内必超时 | 验证码立即输入 | 已解决 |
| 6 | 手机验证页国家选择 | 默认没有 +86 | JS 点击 .phRow |
已解决 |
| 7 | 地址子字段模式 | 刷新后恢复中文 | 直接修改子字段值 | 已解决 |
| 8 | React 复选框勾选 | .click() 无效 | ActionChains 模拟真实点击 | 已解决 |
| 9 | Payoneer 验证码过期 | 报错意外情况 | 点击再次发送 | 已解决 |
| 10 | Payoneer 跳转 token 过期 | 显示错误页面 | 返回 eBay 重新操作 | 已解决 |
| 11 | Payoneer 登录密码错误 | 密码报错 | 用户手动完成 | 已解决 |
| 12 | iframe 操作复杂 | 按钮无法直接点击 | switch_to.frame() | 已解决 |
| 13 | HubStudio 环境切换 | 不同法人串指纹 | 每个法人独立环境 | 已解决 |
| 14 | ChromeDriver 版本不匹配 | 146 vs 149 | --disable-build-check | 已解决 |
| 15 | CDP WebSocket 被拒绝 | 403 Forbidden | 使用 Selenium 而非原生 CDP | 已解决 |
十、关键规则(必须遵守)
10.1 eBay 用户名生成规则
- 用户名:脚本随机生成(8-12位,小写字母+数字)
- 账号:就是注册邮箱
- 生成后当场记录到注册资料.txt
10.2 Payoneer 地址规范
- 必须全部填写拼音,不能英文格式
- 错误:Anqing City, No. 94 Laowu Village
- 正确:Anqing Shi, 94 Laowu Cun
10.3 环境隔离原则
- 每个法人独立 HubStudio 环境
- 绝对不能混用(会串指纹/Cookies)
10.4 记录规范
- 每次接码成功,当场记录手机号到注册资料.txt
- 不要事后补记,避免混淆
- 格式:
ebay手机号:13682374184
10.5 密码管理
- eBay 密码:12位以上,含大小写+数字
- Payoneer 密码:30位以内(系统限制)
- 每个平台独立密码,记录准确
十一、完整脚本
文件路径:C:/Users/win/.openclaw/workspace/ebay_register_actionchains.py
核心功能:
- 养会话(3-5分钟)
- eBay 商业注册(ActionChains 真人输入)
- 邮件/手机验证(自动读取)
- 企业认证(React 复选框处理)
- Payoneer 绑定(iframe 切换)
- 信用卡绑定(解决姓名问题)
- 自动保存注册资料
使用方法:
- 修改脚本顶部配置(法人姓名、环境ID、好租码token等)
- 运行
python ebay_register_actionchains.py - 遇到 hCaptcha 时手动点击,按回车继续
十二、待办事项
已完成
- 邓辉注册完成(25件/月)
- 15个问题全部解决
- ActionChains 方案验证有效
- 注册资料归档规范
待处理
- 蒋海全注册(hCaptcha 阶段暂停,需重新养会话)
- 邓辉 Payoneer 审核文件补充(营业执照原件、地址证明)
- 测试备用接码平台(super5.com、yinsiduanxin.com)
- 开发自动养会话脚本(访问 Google/Wikipedia/Amazon)
- 销售额度提升(审核通过后联系 eBay 客服)
技能固化时间:2026-06-16 07:17 技能版本:v2.0 适用对象:大帅哥团队所有法人
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install ebay-business-registration - 安装完成后,直接呼叫该 Skill 的名称或使用
/ebay-business-registration触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
eBay Business Registration 是什么?
eBay 商业注册全流程固化,包含 ActionChains 真人模拟输入、15个卡点完整解决方案、注册资料模板、Payoneer 绑定等. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 12 次。
如何安装 eBay Business Registration?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install ebay-business-registration」即可一键安装,无需额外配置。
eBay Business Registration 是免费的吗?
是的,eBay Business Registration 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
eBay Business Registration 支持哪些平台?
eBay Business Registration 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 eBay Business Registration?
由 powerzzjohn(@powerzzjohn)开发并维护,当前版本 v2.0.0。