This commit is contained in:
parent
18338612ba
commit
36f30b85cc
|
|
@ -1,4 +1,6 @@
|
|||
scbank_data.jsonl
|
||||
data/
|
||||
output/
|
||||
.trae/
|
||||
.trae/
|
||||
实物系统API文档.pdf
|
||||
*.pyc
|
||||
|
|
@ -56,17 +56,17 @@ class SCBankCollector:
|
|||
if (data && typeof data === 'object') {
|
||||
const str = JSON.stringify(data);
|
||||
|
||||
// 1. 过滤噪音 (IsQX)
|
||||
if (str.includes('IsQX') || (data.body && data.body.IsQX)) {
|
||||
return data;
|
||||
}
|
||||
|
||||
// 2. 识别列表 (rows 或 list)
|
||||
const isList = (data.rows && Array.isArray(data.rows) && data.rows.length > 0) ||
|
||||
(data.list && Array.isArray(data.list) && data.list.length > 0);
|
||||
// 1. 识别列表 (pageDataList)
|
||||
const isList = data.body &&
|
||||
data.body.pageDataList &&
|
||||
Array.isArray(data.body.pageDataList);
|
||||
|
||||
// 3. 识别详情 (orderNo + 长度校验)
|
||||
const isDetail = str.includes('orderNo') && str.length > 300;
|
||||
// 2. 识别详情 (orderNo + goodsInfoList)
|
||||
// 详情页通常包含 orderNo 和 goodsInfoList,且不包含 pageDataList
|
||||
const isDetail = data.body &&
|
||||
data.body.orderNo &&
|
||||
data.body.goodsInfoList &&
|
||||
!data.body.pageDataList;
|
||||
|
||||
if (isList) {
|
||||
console.log('__INTERCEPTED_LIST__:' + str);
|
||||
|
|
@ -114,7 +114,7 @@ class SCBankCollector:
|
|||
try:
|
||||
self.page.wait_for_url("**/homePage**", timeout=0)
|
||||
self.log("检测到登录成功!")
|
||||
time.sleep(2)
|
||||
time.sleep(1)
|
||||
except Exception as e:
|
||||
self.log(f"登录等待超时或失败: {e}")
|
||||
return
|
||||
|
|
@ -124,7 +124,7 @@ class SCBankCollector:
|
|||
self.log(f"跳转至订单管理页面: {self.target_url}")
|
||||
self.page.goto(self.target_url)
|
||||
self.page.wait_for_load_state("domcontentloaded")
|
||||
time.sleep(3)
|
||||
time.sleep(0.5)
|
||||
|
||||
# 3. 筛选状态
|
||||
self._filter_status()
|
||||
|
|
@ -153,7 +153,7 @@ class SCBankCollector:
|
|||
self.browser.close()
|
||||
|
||||
def _filter_status(self):
|
||||
self.log("筛选: 订单类型 -> 待发货")
|
||||
self.log("正在点击“待发货”标签页")
|
||||
try:
|
||||
# 定位 Tab
|
||||
tab_selector = ".el-tabs__item:has-text('待发货')"
|
||||
|
|
@ -162,19 +162,10 @@ class SCBankCollector:
|
|||
if tab.count() > 0:
|
||||
if "is-active" not in tab.get_attribute("class"):
|
||||
tab.click()
|
||||
self.log(" -> 点击“待发货”Tab")
|
||||
self.log("已点击“待发货”标签页")
|
||||
time.sleep(1)
|
||||
else:
|
||||
self.log(" -> 已处于“待发货”Tab")
|
||||
|
||||
# 点击查询
|
||||
query_btn = self.page.locator("button.el-button--primary:has-text('查询')")
|
||||
if query_btn.count() > 0:
|
||||
query_btn.click()
|
||||
self.log(" -> 点击“查询”刷新列表")
|
||||
time.sleep(3)
|
||||
else:
|
||||
self.log(" [WARN] 未找到“查询”按钮")
|
||||
self.log("“待发货”标签页已经是选中状态")
|
||||
else:
|
||||
self.log(" [WARN] 未找到“待发货”Tab")
|
||||
except Exception as e:
|
||||
|
|
|
|||
|
|
@ -150,11 +150,13 @@ class SCBankProcessor:
|
|||
results.append({
|
||||
"处理状态": "成功" if success else "失败",
|
||||
"失败原因": "" if success else msg,
|
||||
"商城订单号": order_no,
|
||||
"下单时间": order_time,
|
||||
"订单编号": order_no,
|
||||
"下单用户手机号码": detail.get("orderMobile"),
|
||||
"商户名称": detail.get("exMerchant"),
|
||||
"订单金额": detail.get("orderAmt"),
|
||||
"商品名称": goods_name,
|
||||
"内部商品ID": internal_pid,
|
||||
"订单金额": detail.get("orderAmt"),
|
||||
"下单时间": order_time
|
||||
})
|
||||
|
||||
# 5. 导出 Excel
|
||||
|
|
|
|||
Loading…
Reference in New Issue