文档备案控制台
免费开始使用

# 影刀RPA进阶教程:TEMU商品批量

影刀RPA进阶教程:TEMU商品批量上架与数据采集流程

TEMU(拼多多跨境)卖家经常需要批量上架商品,或者采集竞品的价格、销量数据。

picture.image 但TEMU的后台是英文界面,元素定位比国内站复杂,而且有反爬机制。

这篇文章讲两个实战流程:一是从Excel批量上架商品到TEMU,二是采集TEMU商品列表数据。
全程使用稳定的XPath(基于文本和属性,避免动态class),并处理验证码和登录态。

picture.image


一、流程概览

picture.image

  • 上架流程:读取Excel商品数据 → 登录TEMU卖家中心 → 逐个填写商品信息 → 提交
  • 采集流程:搜索关键词 → 滚动加载商品列表 → 采集标题/价格/销量 → 导出Excel

picture.image

二、前置准备:登录态保持

TEMU后台登录有时需要验证码或邮箱验证。
建议在影刀浏览器里手动登录一次,勾选“记住登录状态”,然后影刀流程直接使用这个登录态。

picture.image 操作步骤:

  1. 打开影刀浏览器,访问TEMU卖家中心登录页
  2. 手动输入账号密码,完成验证
  3. 登录成功后,关闭浏览器(不要点退出)
  4. 在影刀流程中用“打开网页”指令,会自动携带之前的cookie

picture.image

影道指令精确名称:“打开网页”如果不指定“清除cookie”,会复用浏览器的登录态。


picture.image

三、批量上架商品(从Excel读取)

场景: 你有一个Excel表格,列包括:商品标题、价格、库存、描述、图片链接。
需要自动登录TEMU后台,逐个创建商品。

picture.image

第一步:读取Excel数据

# 打开Excel,读取所有行(跳过表头)
打开Excel("C:/temu_products.xlsx") → 【Excel对象】
读取区域数据到列表(【Excel对象】, 起始行=2) → 【商品数据列表】
关闭Excel(【Excel对象】)
# 【商品数据列表】是一个二维列表,每行是一个商品

第二步:进入商品发布页面

TEMU卖家中心的商品发布入口通常是“Add Product”或“发布商品”。

# 捕获元素:商品管理菜单(基于文本)
//span[contains(text(),'Products')]

# 捕获元素:添加商品按钮
//button[contains(text(),'Add Product')]
# 或者
//a[contains(@href, 'add-product')]
# 流程
打开网页("https://seller.temu.com")
等待元素出现(商品管理菜单, 10)
点击元素(商品管理菜单)
等待元素出现(添加商品按钮, 5)
点击元素(添加商品按钮)
等待元素出现(商品标题输入框, 10)

第三步:循环填写商品信息

ForEach列表循环(【商品数据列表】):
    【当前商品】 = 当前循环项  # 是一个列表,索引对应各列
    【标题】 = 获取列表元素(【当前商品】, 0)
    【价格】 = 获取列表元素(【当前商品】, 1)
    【库存】 = 获取列表元素(【当前商品】, 2)
    【描述】 = 获取列表元素(【当前商品】, 3)
    【图片链接】 = 获取列表元素(【当前商品】, 4)
    
    
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/85872880746649428aac097ff521d1dd~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1782090423&x-signature=MmWrGArIrHQkOXReM5uxO%2BeuinM%3D)
    # 填写标题
    输入文本(标题输入框, 【标题】)
    
    # 填写价格(注意TEMU价格单位是美元)
    输入文本(价格输入框, 【价格】)
    
    # 填写库存
    输入文本(库存输入框, 【库存】)
    
    # 填写描述(可能要用模拟输入,因为有字数统计)
    模拟输入(描述输入框, 【描述】, 逐字间隔=10)
    
    
![picture.image](https://p3-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/7d01244f60a54ac3bd60f1d829918abd~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1782090423&x-signature=6hFT7Y%2FG1xy3W4pXPfwPO8NKdW0%3D)
    # 上传图片:TEMU支持URL上传或本地文件
    # 方法1:如果支持URL,直接填入图片链接
    输入文本(图片URL输入框, 【图片链接】)
    # 方法2:需要下载图片再上传,用“上传文件”指令
    # 下载文件(【图片链接】, "C:/temp.jpg")
    # 点击元素(上传图片按钮)
    # 上传文件(文件路径="C:/temp.jpg")
    
    # 点击“保存”或“提交”
    点击元素(保存按钮)
    
    # 等待保存成功提示出现
    等待元素出现(成功提示, 超时时间15)
    
    # 点击“继续添加”或“添加下一个”
    点击元素(继续添加按钮)
    # 重置页面,等待下一个商品表单加载
    等待元素出现(标题输入框, 10)

容易踩坑:
TEMU的商品表单可能有必填字段没填(如品牌、分类),提交时会报错。
建议在Excel里把必填字段都准备好,或者在流程里用默认值填充。

影道指令精确名称:“上传文件”指令在“界面操作”分类下,可以模拟选择本地文件上传。


四、采集TEMU商品列表数据

场景: 搜索某个关键词,采集商品标题、价格、已售数量、店铺名。

第一步:搜索关键词

# 捕获元素:搜索框(TEMU前台)
//input[@placeholder='Search...' or @name='search']

# 捕获元素:搜索按钮
//button[@type='submit']
打开网页("https://www.temu.com")
输入文本(搜索框, "phone case")
点击元素(搜索按钮)
等待元素出现(第一个商品卡片, 超时时间10)

第二步:滚动加载(TEMU也是瀑布流)

参考小红书滚动加载逻辑,但TEMU的滚动加载更稳定,可以直接用。

【上次数量】 = 0
【连续无新增】 = 0
【最大滚动次数】 = 20

条件循环(当【连续无新增】 < 3 and 【滚动次数】 < 【最大滚动次数】):
    获取相似元素列表(商品卡片) → 【卡片列表】
    【当前数量】 = 获取列表长度(【卡片列表】)
    
    如果 【当前数量】 > 【上次数量】:
        【上次数量】 = 【当前数量】
        【连续无新增】 = 0
    否则:
        【连续无新增】 = 【连续无新增】 + 1
    
    滚动到页面底部()
    固定等待(2)
    【滚动次数】 = 【滚动次数】 + 1

第三步:采集卡片字段

TEMU的商品卡片结构相对规整,以下是稳定的XPath(基于文本和class固定部分)。

# 商品卡片父级
//div[contains(@class, 'product-card')]

# 标题(在卡片内)
.//div[contains(@class, 'title')]//a

# 价格(TEMU显示格式如 $1.99)
.//div[contains(@class, 'price')]//span

# 已售数量(如 "1.2K sold")
.//div[contains(@class, 'sold')]//span

# 店铺名
.//div[contains(@class, 'store-name')]//span
# 采集循环
获取相似元素列表(商品卡片) → 【最终卡片列表】
ForEach列表循环(【最终卡片列表】):
    获取元素文本(当前循环项, ".//div[contains(@class,'title')]") → 【标题】
    获取元素文本(当前循环项, ".//div[contains(@class,'price')]//span") → 【价格】
    获取元素文本(当前循环项, ".//div[contains(@class,'sold')]") → 【销量】
    获取元素文本(当前循环项, ".//div[contains(@class,'store-name')]") → 【店铺】
    
    # 清洗价格(去掉$符号)
    替换文本(【价格】, "$", "") → 【价格】
    
    # 清洗销量(提取数字)
    提取文本中间(【销量】, "", " sold") → 【销量数字】  # 或用正则
    
    # 写入Excel
    追加一行数据到表格(【Excel对象】, 数据=[【标题】, 【价格】, 【销量数字】, 【店铺】])

影道指令精确名称:“提取文本中间”可以提取固定前后的内容。如果销量格式是“1.2K sold”,提取“ sold”前面的部分。


五、处理TEMU的反爬和验证码

TEMU对自动化工具比较敏感,频繁操作可能弹出验证码或IP限制。

应对策略:

  1. 降低操作频率:每次点击或滚动后加0.5-1秒随机等待
  2. 使用代理IP:如果采集量大,建议购买住宅代理
  3. 验证码处理:用“判断元素是否存在”检测验证码,如果出现则暂停并发送通知(飞书/钉钉),手动处理后继续
# 验证码检测
判断元素是否存在(验证码图片) → 【有验证码】
如果 【有验证码】:
    输出日志("检测到验证码,暂停流程,请手动处理")
    发送飞书消息(webhook, "TEMU验证码需要手动处理")
    固定等待(60)  # 给你时间手动处理
    # 也可以设置循环等待,直到验证码消失
    条件循环(当 【有验证码】):
        固定等待(10)
        判断元素是否存在(验证码图片) → 【有验证码】

影道版本差异:创业版以上支持飞书/钉钉指令,社区版可以用“输出日志”替代。


六、完整流程代码框架(采集版)

# A01_TEMU商品采集
# 初始化
打开Excel("C:/temu_products.xlsx", 可见=False) → 【Excel对象】
写入行数据(第1行, ["标题","价格","销量","店铺"])

# 打开TEMU并搜索
打开网页("https://www.temu.com")
等待元素出现(搜索框, 10)
输入文本(搜索框, "phone case")
点击元素(搜索按钮)
等待元素出现(商品卡片, 10)

# 滚动加载
【上次数量】 = 0
【连续无新增】 = 0
【滚动次数】 = 0
条件循环(当【连续无新增】 < 3 and 【滚动次数】 < 20):
    获取相似元素列表(商品卡片) → 【卡片列表】
    【当前数量】 = 列表长度(【卡片列表】)
    如果 【当前数量】 > 【上次数量】:
        【上次数量】 = 【当前数量】
        【连续无新增】 = 0
    否则:
        【连续无新增】 = 【连续无新增】 + 1
    如果 【连续无新增】 < 3:
        滚动到页面底部()
        固定等待(2)
        【滚动次数】 = 【滚动次数】 + 1

# 采集
获取相似元素列表(商品卡片) → 【最终卡片】
ForEach列表循环(【最终卡片】):
    Try:
        获取元素文本(当前循环项, ".//div[contains(@class,'title')]") → 【标题】
        获取元素文本(当前循环项, ".//div[contains(@class,'price')]//span") → 【价格】
        获取元素文本(当前循环项, ".//div[contains(@class,'sold')]") → 【销量】
        获取元素文本(当前循环项, ".//div[contains(@class,'store-name')]") → 【店铺】
        
        # 清洗
        替换文本(【价格】, "$", "")
        【销量数字】 = 提取文本中间(【销量】, "", " sold")
        if 【销量数字】 == "": 【销量数字】 = "0"
        
        追加一行数据到表格(【Excel对象】, 数据=[【标题】, 【价格】, 【销量数字】, 【店铺】])
    Catch:
        输出日志("采集单个商品失败,跳过")

保存Excel(【Excel对象】)
关闭Excel(【Excel对象】)
输出日志("采集完成")

七、常见问题速查

问题解决方法
TEMU卖家中心登录需要验证码提前手动登录并保持cookie;或接入打码平台
商品上架时提示“分类未选”在Excel中增加分类列,流程中用“选择下拉选项”指令
采集到的价格带货币符号用“替换文本”去掉$、€等符号
滚动加载到底部后没有新商品可能是IP被限,换代理或降低频率
上传图片失败确保图片URL可访问;或先下载到本地再上传
商品描述中包含特殊字符导致提交失败用Python正则过滤掉emoji或控制字符
批量上架时中途失败,如何断点续传记录已成功的行数,下次从失败行开始。用全局变量保存进度

推荐资源

  • TEMU卖家中心官方帮助文档(英文):了解商品发布字段要求
  • 影刀社区搜索“TEMU”,有用户分享的采集模板
  • 代理IP推荐:Bright Data(原Luminati)或911.re(住宅代理)
  • 打码平台:超级鹰、图鉴,可以自动识别验证码(需额外费用)

作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。

0
0
0
0
评论
未登录
暂无评论