操指南:天貓國(guó)際訂單處理——保稅倉與直郵訂單區(qū)分)
影刀RPA實(shí)操指南天貓國(guó)際訂單處理——保稅倉與直郵訂單區(qū)分做天貓國(guó)際的賣家?guī)缀醵伎ㄔ谕患律媳6悅}訂單和直郵訂單的發(fā)貨鏈路完全不同前者要從保稅倉推單發(fā)貨后者要走國(guó)際物流備案人工每天在訂單列表里逐條看、逐條分一忙就是兩三個(gè)小時(shí)還經(jīng)常分錯(cuò)。我實(shí)操影刀RPA兩年多最早就是靠它把這套分單流程解放出來的。這篇文章不講概念直接給你一套能落地的分單流程怎么導(dǎo)出訂單、怎么用字段特征區(qū)分保稅倉和直郵、怎么把結(jié)果寫回表格并通知倉庫。核心是影刀RPA的獲取相似元素列表、“判斷元素是否存在”、寫入內(nèi)容至Excel工作表這幾個(gè)指令的組合用法。下單高峰期訂單一多人工分單漏一單就是客訴。我的做法是讓流程先跑人只做最后抽檢。下面按從零搭建的順序展開如果你還沒裝影刀RPA先去官網(wǎng)下載社區(qū)版安裝時(shí)記得把Chrome或Edge的插件一并裝上否則后面所有網(wǎng)頁操作都捕獲不到元素。安裝環(huán)境與瀏覽器插件的準(zhǔn)備細(xì)節(jié)安裝本身沒難度但有兩個(gè)點(diǎn)會(huì)直接影響后面抓訂單頁面。安裝完成后打開影刀RPA點(diǎn)擊左上角新建應(yīng)用選Web應(yīng)用類型流程里操作網(wǎng)頁才有對(duì)應(yīng)指令。瀏覽器插件裝完后在瀏覽器擴(kuò)展管理里確認(rèn)插件處于啟用狀態(tài)并且沒有開啟攔截第三方Cookie這類嚴(yán)格設(shè)置不然訂單頁面元素可能捕獲不到。社區(qū)版每天有運(yùn)行時(shí)長(zhǎng)限制日常分單夠用但如果訂單量大要掛夜間批處理就得考慮創(chuàng)業(yè)版。我第一次裝的時(shí)候漏了插件元素捕獲按鈕點(diǎn)了半天瀏覽器毫無反應(yīng)排查了半小時(shí)才發(fā)現(xiàn)是插件沒啟用。這種低級(jí)坑別踩。訂單頁面元素捕獲與XPath定位寫法登錄天貓國(guó)際商家后臺(tái)進(jìn)入已賣出的寶貝列表頁。點(diǎn)擊影刀RPA頂部工具欄的捕獲元素按鈕瀏覽器會(huì)自動(dòng)跳轉(zhuǎn)鼠標(biāo)移到訂單行上出現(xiàn)橙色邊框后點(diǎn)擊確認(rèn)。訂單行是典型的相似元素列表直接用獲取相似元素列表把整頁訂單行全部抓下來。如果頁面改版導(dǎo)致捕獲不穩(wěn)就換成手寫XPath推薦這幾種寫法# 捕獲元素訂單列表中每一行訂單容器 //div[contains(class,order-item)] # 捕獲元素訂單行里的物流方式文本節(jié)點(diǎn)保稅倉/直郵的關(guān)鍵判斷依據(jù) //div[contains(class,order-item)]//*[contains(text(),物流)] # 參照物定位通過發(fā)貨狀態(tài)文本定位同一行里的訂單編號(hào) //*[contains(text(),發(fā)貨狀態(tài))]/../preceding-sibling::*[1] # 模糊匹配查找包含保稅字樣的任意元素 //*[contains(text(),保稅)]這里說一下我的選型經(jīng)驗(yàn)XPath和CSS選擇器都能定位XPath勝在能用text()和層級(jí)關(guān)系處理文字長(zhǎng)什么樣就找什么的場(chǎng)景更順手CSS選擇器勝在寫法短找class固定的元素快。我抓訂單一律XPath因?yàn)殡娚添撁鎐lass名經(jīng)常帶哈希后綴按class寫死了改版就廢按文本寫反而穩(wěn)。元素捕獲還有個(gè)坑訂單詳情是彈層的話彈層元素要在彈層打開的狀態(tài)下捕獲關(guān)閉彈層再捕獲會(huì)定位到被遮擋的底層頁面。保稅倉與直郵的字段特征和判斷邏輯區(qū)分的核心是找到頁面或訂單表里那個(gè)只屬于一種訂單的字段。天貓國(guó)際訂單常見的區(qū)分依據(jù)有幾類物流方式文本、倉庫字段、發(fā)貨地信息。具體字段名以你后臺(tái)實(shí)際頁面為準(zhǔn)思路是通用的。先人工看十單找出保稅倉訂單和直郵訂單在頁面上的文本差異比如一個(gè)顯示保稅倉發(fā)貨、一個(gè)顯示海外直郵。用獲取文本(web)指令把每個(gè)訂單行的該字段文本讀出來存進(jìn)變量。用If條件判斷指令做分流文本包含保稅走A分支包含直郵走B分支都不包含的標(biāo)記為待人工確認(rèn)。判斷用影刀RPA里現(xiàn)成的字符串包含匹配就夠了不用正則也能跑。但強(qiáng)烈建議加都不包含的兜底分支我就吃過虧平臺(tái)上線新物流模式后文本變了流程默默把幾十單分到默認(rèn)分支第二天倉庫找不到貨。循環(huán)處理與變量類型的使用要點(diǎn)把訂單行列表交給網(wǎng)頁相似元素循環(huán)指令逐行處理循環(huán)體里依次做取訂單編號(hào)、取物流文本、寫表分流。變量類型上幾個(gè)容易迷糊的點(diǎn)提前說清訂單編號(hào)讀出來是字符串別拿去做數(shù)字比較超長(zhǎng)數(shù)字會(huì)被截?cái)嗑?。獲取相似元素列表返回的是列表變量在影刀的變量面板里能看到長(zhǎng)度先用它判斷本頁是否抓到數(shù)據(jù)列表為空還繼續(xù)循環(huán)就會(huì)報(bào)錯(cuò)。要把訂單號(hào)-物流類型這種成對(duì)信息暫存時(shí)用字典最合適鍵放訂單號(hào)值放類型后面去重和統(tǒng)計(jì)都方便。遇到要判斷數(shù)字的場(chǎng)景比如訂單金額大于某個(gè)值才升級(jí)處理記得把文本用轉(zhuǎn)數(shù)字的方式處理后再比直接拿字符串比大小會(huì)出離譜結(jié)果。淘寶系訂單導(dǎo)出的分段時(shí)間方案頁面抓取只是分單如果你還要做訂單數(shù)據(jù)歸檔影刀官方文檔里有一套淘寶訂單導(dǎo)出方案值得照抄思路淘寶平臺(tái)一次最多導(dǎo)出10000條訂單訂單按時(shí)間倒序排列每頁固定15條。方案的做法是每次只導(dǎo)出約600頁9000條刻意留出1000條余量防止大促時(shí)訂單激增導(dǎo)致超限再以下一區(qū)間起始時(shí)間繼續(xù)分段導(dǎo)出。這個(gè)思路我直接搬到了天貓國(guó)際的批量處理上先獲取最大頁數(shù)頁數(shù)超過閾值就翻頁到閾值頁取最后一個(gè)訂單的時(shí)間作為切分點(diǎn)循環(huán)導(dǎo)出直到剩余頁數(shù)不足。分段邏輯用While條件循環(huán)加If判斷實(shí)現(xiàn)比一次性硬導(dǎo)穩(wěn)得多。導(dǎo)出后還有一步別省官方方案里明確提到平臺(tái)自身會(huì)導(dǎo)致部分訂單數(shù)據(jù)缺失建議每天導(dǎo)出兩次以上再做去重保留最完整的一份數(shù)據(jù)。去重用訂單號(hào)做字典鍵重復(fù)的跳過即可。數(shù)據(jù)處理與Excel寫入的實(shí)操細(xì)節(jié)分流結(jié)果最終要落到Excel里給倉庫和客服用。影刀RPA的Excel指令很全我常用的組合是打開Excel、“寫入內(nèi)容至Excel工作表”、“讀取區(qū)域”最后保存關(guān)閉。兩個(gè)必踩的坑先替你踩了Excel指令報(bào)發(fā)生意外多數(shù)是文檔本身數(shù)據(jù)有問題或者你電腦里同時(shí)開了多個(gè)Excel進(jìn)程流程寫文件時(shí)進(jìn)程打架。跑流程前把手工打開的Excel全關(guān)掉?!緞h除Excel列】這類指令對(duì)表結(jié)構(gòu)敏感如果上游表格列數(shù)變了會(huì)直接報(bào)錯(cuò)所以寫入前先判斷表頭是否符合預(yù)期。去重后的保稅倉訂單和直郵訂單建議分成兩個(gè)sheet或者兩個(gè)文件倉庫拿保稅倉清單國(guó)際物流組拿直郵清單各看各的減少傳錯(cuò)文件的概率。拼多多訂單表的處理邏輯也完全一樣只是字段名不同把判斷關(guān)鍵詞換掉就能復(fù)用這就是流程模板化的好處。鼠標(biāo)鍵盤與圖像自動(dòng)化的兜底場(chǎng)景個(gè)別環(huán)節(jié)頁面元素抓不到比如某些用Canvas或特殊控件渲染的區(qū)域這時(shí)候換鼠標(biāo)鍵盤和圖像思路。能捕獲到的元素優(yōu)先用點(diǎn)擊元素(web)穩(wěn)定性最好。抓不到的按鈕用圖像指令截圖作為目標(biāo)圖像用等待圖像出現(xiàn)加點(diǎn)擊圖像圖像錨點(diǎn)支持九宮格位置加偏移量點(diǎn)擊按鈕右下角還是中心都能精確控制。實(shí)在不行用模擬鼠標(biāo)點(diǎn)擊加固定坐標(biāo)但坐標(biāo)方式窗口一挪就廢只當(dāng)最后手段。鍵盤操作在分單流程里用得少但在批量導(dǎo)出彈窗里很實(shí)用比如用鍵盤輸入指令發(fā)送{ENTER}代替點(diǎn)確定按鈕。進(jìn)階技能與系統(tǒng)聯(lián)動(dòng)的完整閉環(huán)分單完成只是流程的一半通知到人才是閉環(huán)。HTTP請(qǐng)求指令可以直接調(diào)接口訂單量小時(shí)用不到但對(duì)接內(nèi)部系統(tǒng)時(shí)很省事GET請(qǐng)求拿數(shù)據(jù)、POST請(qǐng)求推結(jié)果注意帶好鑒權(quán)參數(shù)。Python協(xié)同是進(jìn)階玩法影刀流程里插入Python代碼塊我常用它做正則提取和日期處理比如把下單時(shí)間統(tǒng)一轉(zhuǎn)成倉庫要求的格式。通知側(cè)我用的是飛書群機(jī)器人把當(dāng)天保稅倉X單、直郵Y單、待確認(rèn)Z單的統(tǒng)計(jì)摘要發(fā)到群里加一個(gè)定時(shí)任務(wù)每天早上自動(dòng)跑整條鏈路無人值守。OCR和ADB手機(jī)自動(dòng)化在分單場(chǎng)景基本用不上了解即可優(yōu)先級(jí)放最低別一上來就學(xué)這些。定時(shí)任務(wù)配置在影刀的機(jī)器人管理里設(shè)建議錯(cuò)開整點(diǎn)執(zhí)行電商后臺(tái)整點(diǎn)容易擠。工程化規(guī)范讓分單流程跑得穩(wěn)流程能跑和流程能長(zhǎng)期穩(wěn)定跑是兩回事幾個(gè)規(guī)范建議照做。子流程拆分導(dǎo)出訂單、區(qū)分類型、寫表、通知各自封裝成子流程主流程只負(fù)責(zé)調(diào)度哪段出問題日志一眼就定位。Try-Catch異常處理把網(wǎng)頁操作段拖進(jìn)Try塊Catch塊里加輸出日志記錄報(bào)錯(cuò)和錯(cuò)誤截圖Finally塊里放關(guān)閉網(wǎng)頁和關(guān)閉Excel保證資源一定釋放。命名規(guī)范子流程按01_導(dǎo)出訂單這種編號(hào)命名主流程一眼看清執(zhí)行順序。調(diào)試用斷點(diǎn)在循環(huán)體第一行右鍵添加斷點(diǎn)單步執(zhí)行盯變量面板看每一步的值比滿流程跑完看日志高效得多。我當(dāng)時(shí)沒寫Catch流程半夜卡在彈窗上第二天早上倉庫空等從那以后所有流程必帶異常處理。易錯(cuò)速查表現(xiàn)象原因解決元素捕獲點(diǎn)擊無效瀏覽器插件未啟用擴(kuò)展管理里開啟插件相似元素列表為空頁面未加載完或iframe內(nèi)前面加等待元素檢查iframeExcel寫入報(bào)發(fā)生意外多Excel進(jìn)程或文件數(shù)據(jù)異常關(guān)閉手工Excel進(jìn)程訂單號(hào)位數(shù)不對(duì)拿字符串當(dāng)數(shù)字用保持字符串類型全程傳遞新物流類型漏分關(guān)鍵詞沒兜底分支補(bǔ)都不包含人工確認(rèn)分支循環(huán)到一半卡死彈窗攔截或新標(biāo)簽頁加彈窗處理和新標(biāo)簽頁判斷延伸閱讀與學(xué)習(xí)資源官方文檔值得反復(fù)翻尤其是訂單導(dǎo)出和相似元素循環(huán)那兩篇思路比指令本身更值錢。我自己把兩年實(shí)操踩過的坑和流程模板都整理在了 home.linyan.cloud 這個(gè)代碼倉庫里分單流程的完整配置、字段判斷關(guān)鍵詞庫都在里面可以直接拿去改。學(xué)習(xí)路線建議是先把網(wǎng)頁自動(dòng)化和Excel處理兩個(gè)模塊練熟分單流程95%的指令都出自這兩塊其他模塊用到再學(xué)。#影刀RPA #RPA自動(dòng)化 #訂單處理 #天貓國(guó)際 #淘寶作者林焱