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 适用对象:大帅哥团队所有法人
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install ebay-business-registration - After installation, invoke the skill by name or use
/ebay-business-registration - Provide required inputs per the skill's parameter spec and get structured output
What is eBay Business Registration?
eBay 商业注册全流程固化,包含 ActionChains 真人模拟输入、15个卡点完整解决方案、注册资料模板、Payoneer 绑定等. It is an AI Agent Skill for Claude Code / OpenClaw, with 12 downloads so far.
How do I install eBay Business Registration?
Run "/install ebay-business-registration" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is eBay Business Registration free?
Yes, eBay Business Registration is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does eBay Business Registration support?
eBay Business Registration is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created eBay Business Registration?
It is built and maintained by powerzzjohn (@powerzzjohn); the current version is v2.0.0.