Skip to main content

dxm-product-images

店小秘速卖通编辑页——产品图片模块:主图选图 + 批量改尺寸800×800 + 图片翻译 + 营销图片一键生成 + 颜色SKU图处理

跳到安装

来源信息

仓库
southernspark-nfxh/aliexpress-auto-listing-skill
最近来源活动
2026年8月7日 13:38
检测到的 SKILL.md 语言
中文
星标
18
分支
3

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
dxm-product-images
description
店小秘速卖通编辑页——产品图片模块:主图选图 + 批量改尺寸800×800 + 图片翻译 + 营销图片一键生成 + 颜色SKU图处理
domain
ecommerce
triggers
["用户说\"产品图片\"、\"主图\"、\"改尺寸\"、\"图片翻译\"、\"营销图\"、\"SKU图\"、\"颜色图\"","店小秘编辑页产品信息 tab 需要处理图片"]
# 店小秘产品图片模块 ## 环境 CDP browser_cdp 直连。 ## 子步骤总览 ``` 7a. 主图选图(选6张主图) 7b. 批量改尺寸 800×800 7c. 图片翻译(中文→英文) 7d. 营销图片一键生成 7e. 颜色SKU:改英文名 7f. 颜色SKU图:改尺寸 7g. 颜色SKU图:翻译 7h. 容量(带星号必填) ``` ## Step 7a:主图选图(选6张) ### 🔴 铁律:必须选6张,不能多也不能少 速卖通要求主图为6张。店小秘主图区默认最多保留6张。从1688导入的图片通常超过6张,需要筛选出最佳6张。 ### 选图规则(按优先级) 1. **白底图优先** — 纯白/浅色背景的产品图 2. **清晰度高** — 分辨率高,产品占比大 3. **多角度** — 正面、侧面、细节、使用场景各一张 4. **无中文文案** — 避免含大段中文的图(翻译可能失败) 5. **无水印** — 避免1688水印图 ### 操作流程 1. 切换到「产品信息」tab 2. 在「产品图片」区,查看当前选用张数: ```javascript // 检查选中张数 var items = document.querySelectorAll('.single-image'); var count = 0; items.forEach(function(item) { if (item.querySelector('.ant-checkbox-wrapper-checked')) count++; }); // 或直接读提示文案: var tip = document.querySelector('.explain-module'); // → 「主图最多选用 6 张,已经选用了 5 张」 ``` 3. 如不足6张,点击下一个未选中图片的 checkbox: ```javascript var items = document.querySelectorAll('.single-image'); for (var i = 0; i < items.length; i++) { if (!items[i].querySelector('.ant-checkbox-wrapper-checked')) { items[i].querySelector('input[type=checkbox]').click(); break; // 只加1张 } } ``` 4. 验证提示变为「已经选用了 **6** 张」 5. 如需换图:先取消勾选,再勾选新图 6. 拖拽排序:首图为白底正面主图 ## Step 7b:批量改尺寸 800×800 ### 操作 1. 在产品图片区找到「crop编辑图片」链接 → 点击展开 dropdown 2. 下拉菜单选「批量改图片尺寸」 3. 弹窗中: - 选择1:「等比例调整」(默认) - 选择2:「图片小边」(默认) - 宽度输入框 name="valueW":填入 800 - (无独立高度输入框——等比例自动计算) 4. 点「生成JPG图片」 ### ⚠️ 弹窗结构(2026-07-19 实测) - 4个 ant-select 下拉(已预选"等比例调整"/"图片小边"等默认值) - 1个 text input `name="valueW"`(宽度) - 2个 checkbox(等比缩放相关,默认已勾选) - 按钮:「生成JPG图片」「生成PNG图片」 - **没有「选择全部」步骤**——默认处理所有产品图片 - JS click 即提交,无进度条——modal 关闭 = 已提交后台处理 ## Step 7c:图片翻译(中文→英文) — 主图6张 + SKU图 ### 🔴 铁律:6张主图必须全部翻译 每条listing的6张主图都要做图片翻译。不能只点一次就跳过。 ### ✅ 正确路径:页面顶部「一键翻译」按钮(2026-07-19 验证通过) **唯一有效路径**:页面顶部工具栏的「一键翻译」按钮(button.ant-btn-default.translation-btn,y≈100) ``` 1. 滚动到页面顶部 page.evaluate('window.scrollTo(0, 0)') 2. 找按钮:document.querySelectorAll('button') → textContent === '一键翻译' → getBoundingClientRect().top < 200 3. page.mouse.click(x, y) 打开弹窗(此步 CDP 可触发) 4. 弹窗显示:图片翻译 | 中文-英文 | 22张(全量) | 译图/原图 | 保留原图 | 强制识别 5. 点「确认」按钮提交 — ⚠️ 见下方坑点 ``` ### 🔑 「一键翻译」按钮操作(关键!2026-07-19 验证) 弹窗底部的「一键翻译」是 ant-dropdown-trigger 分裂按钮。**必须点两次:** ``` 1. 点 span 文字区 → 打开下拉 → 选「中文 → 英文」(选语言,不提交) 2. 再点一次 span 文字区 → 提交翻译! ``` ```python span = (1993, 1061) # 坐标每次实时 getBoundingClientRect() 获取 # 第1次:选语言 page.mouse.click(span_x, span_y) # 打开下拉 cn_en = 找可见的 '中文 → 英文' 菜单项 page.mouse.click(cn_en_x, cn_en_y) # 选语言 # 第2次:提交 page.mouse.click(span_x, span_y) # 提交! ``` 提交后出现双弹窗:原弹窗 + 「提示:状态:进行中... 已翻译成功N张图片」。 ### ❌ 已证伪 - ~~Enter 键提交~~ — 不稳定,部分弹窗无效 - ~~点一次后直接 Enter~~ — 只在特定弹窗有效 - **统一使用「点两次 span」策略** - **策略3**:JS `element.click()` — 对部分弹窗按钮有效(确认弹窗的「确认」按钮实测可用),但 crop 下拉弹窗的「一键翻译」分体按钮不响应。 - **策略4**(兜底):用户手动点击 — 当以上全部失效时,如实告知用户,请用户手动点「确认」。不要重复尝试(本 session 验证:同一按钮尝试 3 次以上就是浪费)。 ### ❌ 已证伪的路径 - **crop编辑图片 → 图片翻译 弹窗** — 该弹窗的「一键翻译」按钮是 ant-dropdown-trigger 分体按钮,必须先打开下拉选「中文→英文」再提交。下拉菜单项在 mouse 按下时即被关闭(antd click-away 机制),点击永远落不到菜单项上。**绝对不走这条路。** - **JS dispatchEvent** — Vue 3 不响应合成事件,无效。 - **Playwright locator.click({force:true})** — modal 拦截 force 也无效(pointer-events 在 DOM 层被阻)。 ### ⚠️ 注意 - 22张图(主图6张 + SKU颜色图全部)一次性全选并翻译 - 余额检查:弹窗底部显示「今日免费:N个 | 总秘豆:N个 | 可用图片翻译数量:N张」 - 余额为0时需充值,否则无法提交 - 提交后弹窗自动关闭,无进度条,后台异步处理 - 翻译结果需用户稍后检查(图片上的中文是否已变英文) ## Step 7d:营销图片一键生成 ### 操作 1. 在营销图片区找「一键生成」按钮 2. 选择模板/场景 3. 生成 1:1 白底图 + 3:4 场景图 ## Step 7e:颜色SKU改名 ### 表结构 SKU颜色表(`document.querySelectorAll('table')[9]`)有3列: | 颜色 | 自定义名称 (批量编辑) | 图片(无图可忽略)批量 | |------|---------------------|---------------------| | 白色 | 宠物户外喂水碗【绿色】 | 选择图片 | | 黑色 | 宠物户外喂水碗【粉色】 | 选择图片 | ### ⚠️ 实测方法:通过「批量编辑」弹窗(2026-07-19) **直接双击单元格编辑不可行**——Vue inline editor 的 input 接受值但不持久化(Enter/Tab/blur 均无法提交)。 **唯一有效路径:点表头「批量编辑」链接 → 弹窗「自定义属性编辑」** 弹窗内容: - 每行一个 checkbox + 文本输入(对应每个SKU的自定义名称) - 查找替换区:「被替换的内容」/「替换后的内容」 - 移除内容区:textarea ``` 1. 点击 th 中「批量编辑」链接 2. 找到 placeholder="请输入" 的 input(每行一个) 3. fill("Green") / fill("Pink") 4. 可选:填「被替换的内容」= "宠物户外喂水碗【】" → 批量去前缀 5. 点「确定」 ``` ### ❌ 已证伪的方法 - 双击单元格 + fill + Enter → 值被清空 - 双击单元格 + fill + Tab → 值被清空 - 双击单元格 + fill + 点空白处 blur → 值被清空 - JS nativeValueSetter + dispatchEvent → Vue 不认 ## Step 7f:颜色SKU图改尺寸 ### 路径 SKU颜色表 → 图片列 head 的「批量」链接 → 下拉 → 「批量改图片尺寸」 → 弹窗设置 800×800 → 生成JPG ### ⚠️ 关键:必须区分两个下拉 SKU图片区有两个外观相似的 action-link,下拉内容完全不同: - **图片列 header 的「批量」链接**(`<a class="img-options-action-btn ant-dropdown-trigger">`)→ 下拉含「批量改图片尺寸」等10项操作 - **"批量编辑图片"链接** → 下拉只有5项(上传来源:本地/空间/网络/图片银行/采集),**不含**改尺寸/翻译 **区分方法:** 用 `textContent.trim() === '批量'` 且 parent 为 `<th>`(而不是 action-bar 中的 `批量编辑图片`) ### 正确的下拉完整菜单(10项) ``` 本地图片 | 空间图片 | 网络图片 | 图片银行(速卖通)| 引用采集图片 | 批量改图片尺寸 | 批量编辑 | 图片翻译 | 图片白底 | 清空图片 ``` ### CDP 操作 1. 定位 SKU 颜色表 → 图片列 header → 点「批量」 2. 等 dropdown 出现 → 点「批量改图片尺寸」 3. 弹窗中 width=800 → 生成JPG ## Step 7g:颜色SKU图翻译 路径同 7f,但选「图片翻译」。仅含中文文案的图片需翻译。 ## Step 7h:容量(产品信息 tab 带星号必填) ### 位置 产品信息 tab,y≈1000-1200 区域。标签「容量」,text input 类型。 ### 数据来源 1688 产品页通常不含容量(ml)数据。需根据产品类型推断: - 宠物饮水杯/碗:通常 300-500ml - 用 `350ml` 作为默认值 ### 填写方法 ```javascript const items = document.querySelectorAll('.ant-form-item'); for (const item of items) { if (item.querySelector('label')?.innerText.includes('容量')) { const inp = item.querySelector('input'); const s = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set; s.call(inp, '350ml'); inp.dispatchEvent(new Event('input', {bubbles: true})); inp.dispatchEvent(new Event('change', {bubbles: true})); } } ``` ## ⚠️ 已知坑点 1. **🔴 ant-modal-wrap 拦截所有自动化点击(2026-07-19 重大发现)** — 店小秘 Vue 3 弹窗的 `<div role="dialog" class="ant-modal-wrap">` 在 CDP 环境下会拦截所有 pointer events。Playwright `mouse.click()` / `locator.click({force:true})` / JS `element.click()` / `dispatchEvent` 全部无效。**表现为:按钮可定位、坐标正确、点击无报错,但弹窗不关闭、无任何反馈。** 遇到此情况直接告知用户手动点击,不要重复尝试(本 session 浪费 20+ 次点击)。此问题影响所有 ant-modal-wrap 弹窗内的按钮(图片翻译确认、批量改尺寸生成等)。 2. **「批量改图片尺寸」入口藏得深** — 需先点「crop编辑图片」→ 展开 dropdown → 选「批量改图片尺寸」。不要和「批量编辑」(另一个弹窗)混淆。 3. **CDP mouse 事件打不开 crop 编辑 dropdown** — `Input.dispatchMouseEvent` 无效,必须用 JS `element.click()` 打开。 4. **两个同名「批量编辑图片」按钮** — CKEditor combo vs antd dropdown,点错了用 Escape 关闭空面板 5. **ant-dropdown 绝对定位偏移到视口外** → 先 scroll 按钮到 y≈400-700 6. **Vue 3 不响应 JS dispatchEvent** → 用 JS `element.click()`(对 dropdown 有效)或 Playwright 真点击 7. **营销图一键生成无即时反馈** — modal 不弹,提交后静默处理 8. **SKU自定义名称不能双击编辑** — 单元格 inline edit 无法提交值。必须用表头「批量编辑」→ 弹窗修改。 9. **批量改尺寸弹窗没有独立高度输入** — 只有 `name="valueW"` 宽度,高度由「等比例调整」自动计算。没有「选择全部图片」步骤,默认全部处理。 10. **图片 resize/翻译/生成均为后台异步** — modal 关闭 = 已提交,无进度条,无完成通知。需用户稍后检查结果。 11. **🔴 主图必须选6张(2026-07-19 用户纠正)** — 页面提示「已选用N张」,如果是5张,必须再勾选1张凑满6张。速卖通要求6张主图,少1张都不行。 13. **🔑 翻译弹窗 Enter 键流程(2026-07-19 验证)** — 对 crop 下拉弹窗(分体按钮型),依次:选择全部 → 点「一键翻译」文字区 → 下拉选「中文→英文」→ 按 Enter → 弹窗变为「中文-英文 确认」→ 按 Enter 或 JS click 确认 → 弹窗关闭。Enter 键可以穿透部分 CDP 拦截。 14. **🔑 PC描述 images-options 强制显示技巧(2026-07-19)** — 描述信息 tab 的 `.images-options` 默认被 Vue 隐藏(`top: 0, visibility: hidden`),CKEditor iframe 中选图也不会触发显示。**唯一有效方法:JS force-show 整个祖先链 + Playwright mouse.click**: ``` // 遍历 images-options 的所有祖先,强制 display:block let el = document.querySelector('.images-options'); while (el && el !== document.body) { el.style.setProperty('display', 'block', 'important'); el.style.setProperty('visibility', 'visible', 'important'); el = el.parentElement; } // 固定到视口中央 io.style.setProperty('position', 'fixed', 'important'); io.style.setProperty('top', '450px', 'important'); io.style.setProperty('left', '800px', 'important'); io.style.setProperty('z-index', '99999', 'important'); ``` 然后 `page.mouse.click()` 点 `.ant-dropdown-trigger` → 下拉正常出现 → 可选「批量改图片尺寸」「图片翻译」等。JS `element.click()` 无效(Vue 3 不认合成事件)。此技巧适用于 PC 描述图片的所有批量操作。 15. **页顶「一键翻译」按钮行为变更** — 当所有产品图片(主图+SKU图)已翻译后,页顶按钮不再弹窗(返回 no modal)。此按钮仅处理产品图片区,不含 PC 描述图片。PC 描述翻译必须走 images-options 路径。 --- *作者: 南方星火 SouthernSpark | 小红书 @南方星火 SouthernSpark | AI自动化专家工作流*
在 GitHub 查看