影刀RPA实操指南TEMU店铺登录态检测与商品状态自动筛选TEMU卖家中心的页面结构跟国内电商完全不同——全是英文界面、组件懒加载、状态筛选没有固定class。用影刀RPA自动化TEMU操作时登录态检测和商品状态筛选是两个最容易卡住的环节。TEMU后台是React渲染的单页应用元素是动态生成的传统XPath直接写死大概率抓不到。我也是第一次做TEMU自动化时被坑惨了——流程跑到一半页面跳回登录页但URL完全没变。后面所有操作在登录页上乱点数据全乱了。下面这套检测方法经过30店铺验证稳定可靠。TEMU登录态检测问题URL不变但已登出TEMU卖家中心https://seller.kuajingmaihuo.com用了一个很坑的设计——登出时做客户端重定向浏览器地址栏不更新。影刀RPA判断页面加载完成时实际看到的已经是登录页。方法检测页面中的特定导航元素在影刀RPA流程中不要检测URL要检测一个登录后才会出现的元素。操作步骤拼多多店群自动化上架方案在影刀RPA元素库中打开TEMU卖家中心首页记得先手动登录点击「捕获元素」按钮元素库面板左上角的瞄准镜图标鼠标悬停在左侧导航栏的「商品管理」菜单上点击捕获命名为TEMU_导航_商品管理在属性面板检查捕获到的XPath推荐的检测元素-- 方案一检测左侧导航菜单项最稳定 //div[contains(class,menu)]//span[contains(text(),商品管理)] -- 登录后才出现未登录时不存在 -- 方案二检测店铺名称区域 //div[contains(class,shop-info)]//span -- 顶部店铺名称区域登录后显示店铺名 -- 方案三检测iframe壳TEMU部分页面内嵌iframe //iframe[contains(src,seller)] -- 如果页面是iframe结构先切换到iframe再检测内部元素流程中的检测逻辑[等待网页元素出现] → 目标元素: TEMU_导航_商品管理 → 超时时间: 8秒 → 等待类型: 元素可见 [如果] 上一步超时: → [Python脚本] 记录日志TEMU已登出准备重新登录 → [子流程] TEMU_自动登录 → [等待] 3秒 → 重新[等待网页元素出现] [否则] 继续后续流程...自动登录子流程TEMU登录比较特殊用的是手机验证码登录。如果你做的是多账号管理建议每个店铺配一个独立手机号用接码平台自动获取验证码。在影刀RPA中登录子流程结构子流程TEMU_自动登录 ├── [打开网页] → TEMU卖家登录页独立窗口模式 ├── [填写网页输入框(按XPath)] → 手机号输入框 ├── [点击网页元素] → 点击「获取验证码」按钮 ├── [等待] → 5秒等待验证码到达 ├── [Python脚本] → 调用接码平台API获取验证码 ├── [填写网页输入框] → 填入验证码 ├── [点击网页元素] → 点击「登录」按钮 └── [等待网页元素出现] → 等待导航菜单加载完成# 调用接码平台获取TEMU验证码示例以某接码平台API为例importrequests,time api_keyflow.get_variable(sms_api_key)phoneflow.get_variable(temu_phone)# 获取最新短信urlfhttps://api.sms-platform.com/v1/sms/latestheaders{Authorization:fBearer{api_key}}params{phone:phone,project:temu}# 最多重试5次验证码可能延迟到达foriinrange(5):resprequests.get(url,headersheaders,paramsparams,timeout10)dataresp.json()ifdata.get(code)0anddata.get(sms):# 提取6位数字验证码importrematchre.search(r\d{6},data[sms][content])ifmatch:codematch.group()flow.set_variable(verify_code,code)print(f验证码获取成功:{code})breakprint(f第{i1}次尝试验证码未到达等待5秒...)time.sleep(5)商品状态自动筛选TEMU的商品管理页面把所有状态放在一个下拉筛选器里——在售、已下架、审核中、违规下架等等。影刀RPA操作这个筛选器需要精准定位。筛选器XPath定位TEMU商品列表页的筛选器在每个列标题中。点击「商品状态」列标题旁的下拉箭头展开筛选菜单-- 第一步点击「商品状态」列标题的下拉箭头 //div[contains(class,ant-table-column-title)]//span[text()商品状态]/ancestor::div[contains(class,ant-table-column)]//span[contains(class,ant-dropdown-trigger)] -- 第二步在下拉菜单中点击具体状态值  //div[contains(class,ant-dropdown) and not(contains(class,ant-dropdown-hidden))]//span[text()在售] -- 注意必须加 not(contains(class,hidden))否则匹配到隐藏的多余菜单多状态批量筛选流程做TEMU商品巡检时需要分别筛选不同状态的商品并导出数据# 批量遍历多个商品状态逐个筛选并导出importtime status_list[在售,已下架,审核中,违规下架]base_urlhttps://seller.kuajingmaihuo.com/product/listforstatusinstatus_list:print(f 开始筛选状态{status})# 1. 点击筛选下拉通过影刀指令# 此处为伪代码表示流程逻辑实际用影刀点击指令操作flow.click_element(状态筛选下拉菜单)time.sleep(1)# 等下拉菜单展开# 2. 点击目标状态flow.click_text(status)# 点击文字匹配的状态选项time.sleep(2)# 等列表刷新# 3. 等待数据加载flow.wait_element_appear(商品列表第一行,timeout10)# 4. 导出当前筛选结果flow.click_element(导出按钮)time.sleep(3)# 5. 将导出文件保存到对应文件夹# 文件会下载到默认下载目录后续用文件处理指令移动print(f状态「{status}」数据导出完成)商品列表中提取数据的XPathTEMU店群如何管理运营TEMU商品列表是Ant Design的Table组件渲染的结构固定-- 获取表格所有行tbody中的所有tr //table[contains(class,ant-table)]//tbody//tr[contains(class,ant-table-row)] -- 获取第一行第一列商品ID //table[contains(class,ant-table)]//tbody//tr[1]//td[1] -- 获取第一行商品标题 //table[contains(class,ant-table)]//tbody//tr[1]//td[contains(class,product-title)]//span -- 获取所有商品的SKU编码第N列看实际表格结构 //table[contains(class,ant-table)]//tbody//tr//td[3] -- 获取所有商品的审核状态通常是倒数第二列 //table[contains(class,ant-table)]//tbody//tr//td[contains(class,status-column)]//span这里很容易踩坑TEMU页面的表格列顺序会因为屏幕宽度动态变化。建议用列标题文字匹配列索引而不是写死第几列# 根据列标题定位列索引再提取该列数据defget_column_index(header_text):根据表头文字获取列索引# 示例找到「审核状态」是第几列headersflow.get_table_headers()# 获取所有表头fori,hinenumerate(headers):ifheader_textinh:returni1# XPath列号从1开始return-1翻页与全量数据采集TEMU商品列表默认每页20条需要翻页采集全部数据# 翻页采集全部商品数据importtime page1max_pages50# 安全上限防止无限循环whilepagemax_pages:print(f正在采集第{page}页...)# 采集当前页数据调用影刀抓取指令flow.capture_current_page_data()# 检测是否有下一页# 方法检查「下一页」按钮是否可点击没有disabled属性next_btn_xpath//li[contains(class,ant-pagination-next) and not(contains(class,ant-pagination-disabled))]ifflow.element_exists(next_btn_xpath):flow.click_element(next_btn_xpath)time.sleep(2)# 等页面加载page1else:print(已到达最后一页)break常见问题/易错速查问题原因解决登录态检测失败但手动看页面是登录的TEMU用了iframe或Shadow DOM嵌套打开浏览器开发者工具(F12)检查目标元素是否在iframe内筛选下拉菜单点击无反应Ant Design的下拉菜单挂载在body下而非表格组件内XPath从//body开始写不要限定在表格范围内表格数据抓取为空表格是虚拟滚动的DOM中只有可见行先滚动到底部让数据加载完或改用翻页模式| 导出按钮点击无效 | TEMU导出是异步的点击后页面发请求等响应 | 等待2-3秒后再检测下载目录是否有新文件 || 翻页后元素定位失败 | 翻页后DOM重新渲染之前的元素引用失效 | 每次翻页后重新获取元素引用 |推荐资源Ant Design Table组件文档——理解TEMU后台表格的渲染机制写XPath更精准Chrome DevTools的「元素」面板——在TEMU页面上右键「检查」观察真实的DOM结构影刀RPA元素库的「智能录制」功能——点击元素库面板上的「录制」按钮手动操作一遍会自动生成步骤#影刀RPA #RPA自动化 #TEMU #跨境电商 #商品管理 #登录态检测 #数据采集作者林焱本文为《影刀RPA学习手册》系列文章之一内容源于实操经验的整理与分享。