云计算百科
云计算领域专业知识百科平台

京东【自主售后】物流信息获取_影刀RPA源码解读

一、项目简介

本项目是基于影刀RPA(ShadowBot)平台开发的京东商家后台售后订单自动化处理解决方案。该方案专为京东商家设计,旨在帮助电商运营人员高效处理售后订单全流程,包括订单信息获取、客户期望设置、物流信息查询、数据统计分析等重复性工作,从而提高工作效率(预计提升70%以上),减少人工错误(降低60%以上误差率)。

项目采用模块化设计,通过多个流程文件协同工作,实现了售后订单处理的全流程自动化。系统支持自定义配置,可根据不同业务场景灵活调整,特别适用于京东平台上的中小商家售后订单管理。目前已覆盖京东商家后台的待收货、退货、换货、维修等全售后场景。

二、项目结构

xbot_robot/
├── ._selectorsV2.xml
│ ├── screenshot/
│ │ └── [多个截图文件]
│ └── workspace.state.json
├── __init__.py
├── __pycache__/
│ └── [编译后的Python文件]
├── imagesV2.xml
├── main.py
├── package.json
├── package.py
├── package.sigstore
├── process12.py
├── process13.py
├── process14.py
├── process15.py
├── process16.py
├── process2.py
├── process3.py
├── process4.py
├── process5.py
├── process6.py
├── process7.py
├── process8.py
├── selectorsV2.xml
└── settings.json

三、项目特点

1. 京东业务深度适配

项目专为京东商家后台设计,深度适配京东售后流程,包括待收货订单处理、退货申请审核、换货流程跟进、维修服务管理等核心业务场景。通过模拟人工操作,实现了对京东商家后台网页元素的精准定位和交互,确保流程稳定运行。

2. 完整的售后流程覆盖

系统覆盖了售后订单处理的全流程,从订单信息获取、客户期望设置、物流信息查询到数据导出分析,形成了完整的闭环。特别是针对京东平台的特殊业务规则(如优鲜赔、还货等)进行了专门优化,确保符合平台规范。

3. 灵活的配置与扩展性

通过package.py文件实现了全局变量的统一管理,包括京东商家后台URL、客户期望选项、文件保存路径等关键配置。系统支持通过自定义对话框进行参数快速配置,无需修改代码即可适应不同业务场景。

4. 健壮的异常处理

项目针对网络延迟、页面加载超时、元素定位失败等常见问题提供了完善的异常处理机制。例如,process5.py中实现了网页打开的重试逻辑,最多尝试4次;process6.py中在订单数量为0时提供了友好的提示并优雅退出。

5. 可视化操作与监控

基于影刀RPA平台的可视化特性,项目支持通过拖拽组件的方式进行流程设计和修改,同时提供了详细的日志记录功能,方便实时监控流程执行状态和问题排查。

核心代码块1:主流程控制 (main.py)

import xbot
import xbot_visual
from . import package
from .package import variables as glv
import time

def main(args):
try:
_ = xbot_visual.process.run(process="process4", package=__name__, inputs={
}, outputs=[
], _block=("main", 1, "调用流程"))
_ = xbot_visual.process.run(process="process14", package=__name__, inputs={
}, outputs=[
], _block=("main", 2, "调用流程"))
_ = xbot_visual.process.run(process="process3", package=__name__, inputs={
}, outputs=[
], _block=("main", 3, "调用流程"))
_ = xbot_visual.process.run(process="process2", package=__name__, inputs={
"customer_hope": glv['cf_customer_hope'],
}, outputs=[
], _block=("main", 4, "调用流程"))
_ = xbot_visual.process.run(process="process8", package=__name__, inputs={
}, outputs=[
], _block=("main", 5, "调用流程"))
_ = xbot_visual.process.run(process="process13", package=__name__, inputs={
}, outputs=[
], _block=("main", 6, "调用流程"))
finally:
pass

业务功能说明:这是整个京东售后订单自动化处理系统的主入口,负责协调各个子流程的执行顺序,构成完整的售后处理业务链。

核心业务流程:

  • process4:配置客户期望(通过自定义对话框选择退货、换货等选项)
  • process14:初始化系统配置(设置京东商家后台URL等关键参数)
  • process3:打开京东商家后台网页并检查登录状态
  • process2:获取订单信息(传入客户期望参数进行过滤)
  • process8:处理订单数据(包括物流信息查询、状态更新等)
  • process13:导出处理结果(生成报表并保存到指定路径)
  • 业务价值:通过模块化的流程设计,实现了售后订单处理的标准化和自动化,减少了人工干预,提高了处理效率和准确性。

    核心代码块2:获取待收货订单数量 (process6.py)

    import xbot
    import xbot_visual
    from . import package
    from .package import variables as glv
    import time

    def main(args):
    try:
    # 获取[售后客服-自主售后-待收货]板块 订单信息
    xbot_visual.web.element.click(browser=package.variables['web_page'], element=package.selector("商家后台_待收货"), simulate=True, move_mouse=False, clicks="click", button="left", keys="null", delay_after="1", anchor_type="center", sudoku_part="MiddleCenter", offset_x="0", offset_y="0", timeout="20", _block=("B1 确认订单数量", 2, "点击元素(web)"))
    待收货_text = xbot_visual.web.element.get_details(browser=package.variables['web_page'], element=package.selector("商家后台_待收货"), operation="text", absolute_url=False, attribute_name=None, relative_to="screen", to96dpi=True, timeout="20", _block=("B1 确认订单数量", 3, "获取元素信息(web)"))
    待收货数量 = xbot_visual.text.extract_content_from_text(text=待收货_text, extract_way="number", regular_pattern="([\\-\\+]?\\d+(\\.\\d+)?)", just_get_first=True, ignore_case=False, _block=("B1 确认订单数量", 4, "从文本中提取内容"))
    xbot_visual.programing.log(type="info", text="当前存在待收货商品【" + xbot_visual.sh_str(待收货数量) + "】件", _block=("B1 确认订单数量", 5, "打印日志"))
    if xbot_visual.workflow.test(operand1=int(待收货数量), operator="==", operand2="0", operator_options="{}", _block=("B1 确认订单数量", 6, "IF 条件")):
    pressed_button = xbot_visual.dialog.show_message_box(title="温馨提醒", message="当前没有待收货订单!", buttons="确定", default_button="确定", use_wait_timeout=False, wait_seconds=None, _block=("B1 确认订单数量", 7, "打开信息对话框"))
    exit(0)
    #endif
    finally:
    pass

    业务功能说明:该流程负责从京东商家后台获取待收货订单数量,是售后处理的第一步,用于判断是否有需要处理的订单。

    核心业务逻辑:

  • 点击京东商家后台中的"待收货"选项卡,切换到待收货订单列表页面
  • 提取待收货订单数量文本,并从中解析出数字
  • 记录订单数量日志,便于后续追踪和统计
  • 如果订单数量为0,则显示提示对话框并退出程序,避免无效操作
  • 业务优化点:

    • 通过精准的元素定位,确保能够准确获取订单数量
    • 加入日志记录,便于问题排查和业务统计
    • 对边界情况(无订单)进行了友好处理,提升用户体验

    核心代码块3:设置客户期望 (process5.py)

    import xbot
    import xbot_visual
    from . import package
    from .package import variables as glv
    import time

    def main(args):
    try:
    for _xbot_retry_time in range(4):
    try:
    package.variables['web_page'] = xbot_visual.web.get(web_type="chrome", mode="activated", value="", use_wildcard=False, silent_running=False, wait_load_completed=True, load_timeout="20", stop_load_if_load_timeout="handleExcept", open_page=False, url=None, _block=("B2 设置客户期望", 1, "获取已打开的网页对象"))
    break
    except Exception as e:
    if _xbot_retry_time == 3:
    raise e
    else:
    xbot_visual.programing.log(type='info',text=e,_block=("B2 设置客户期望", 1,"获取已打开的网页对象"))
    time.sleep(3)
    if xbot_visual.workflow.test(operand1=glv['cf_customer_hope'], operator="!=", operand2="全部", operator_options="{}", _block=("B2 设置客户期望", 2, "IF 条件")):
    xbot_visual.web.element.click(browser=package.variables['web_page'], element=package.selector("客户期望-输入框"), simulate=True, move_mouse=False, clicks="click", button="left", keys="null", delay_after="1", anchor_type="center", sudoku_part="MiddleCenter", offset_x="0", offset_y="0", timeout="5", _block=("B2 设置客户期望", 3, "点击元素(web)"))
    客户期望text列表 = xbot_visual.web.element.get_all_elements(browser=package.variables['web_page'], select_type="selector", selector=package.selector("商家后台-客户期望列表"), css_selector="", xpath_selector="", is_related_parent=False, parent=None, operation="text", absolute_url=False, attribute_name=None, timeout="20", output_with_element_count=False, _block=("B2 设置客户期望", 4, "获取相似元素列表(web)"))
    element_index = xbot_visual.list.get_index(lst=客户期望text列表, elem=glv['cf_customer_hope'], _block=("B2 设置客户期望", 5, "获取列表指定项的位置"))
    客户期望元素列表 = xbot_visual.web.element.get_all_elements(browser=package.variables['web_page'], select_type="selector", selector=package.selector("商家后台-客户期望列表"), css_selector="", xpath_selector="", is_related_parent=False, parent="", operation="element", absolute_url=False, attribute_name=None, timeout="20", output_with_element_count=False, _block=("B2 设置客户期望", 6, "获取相似元素列表(web)"))
    element = xbot_visual.programing.variable(value_type="xbot._web.element.WebElement", value=lambda: 客户期望元素列表[element_index], _block=("B2 设置客户期望", 7, "设置变量"))
    xbot_visual.web.element.click(browser=package.variables['web_page'], element=element, simulate=True, move_mouse=False, clicks="click", button="left", keys="null", delay_after="1", anchor_type="center", sudoku_part="MiddleCenter", offset_x="0", offset_y="0", timeout="20", _block=("B2 设置客户期望", 8, "点击元素(web)"))
    #endif
    xbot_visual.web.element.click(browser=package.variables['web_page'], element=package.selector("按钮_查询"), simulate=False, move_mouse=False, clicks="click", button="left", keys="null", delay_after="2", anchor_type="center", sudoku_part="MiddleCenter", offset_x="0", offset_y="0", timeout="20", _block=("B2 设置客户期望", 10, "点击元素(web)"))
    finally:
    pass

    四、使用指南

    1. 适用范围

    适用于新版京东【自主售后】页面,专为京东商家后台设计。

    2. 注意事项

    • 浏览器要求:本应用使用Chrome浏览器,请确保已安装Chrome浏览器且版本兼容。
    • 插件安装:需在Chrome浏览器上安装影刀插件,详情请见Chrome安装插件说明。
    • 登录要求:提前在Chrome浏览器上登录至京东商家后台。
    • 页面模式:提前确认「售后配置」为「标准模式」,以免由于页面缺少必要元素导致无法正常执行。
    • 运行中注意:应用运行过程中请勿移动鼠标、键盘,以免干扰自动化操作。

    3. 信息配置

    应用运行开始时会弹出对话框,用于配置以下信息:

    客户期望

    在下拉框中选择客户期望类型,可选值包括:全部/退货/换货/维修/补发商品/优鲜赔/还货。

    文件保存路径

    设置获取的商品信息保存路径,默认保存至「桌面」,也可自定义保存路径。

    4. 运行结果

    应用运行结果包括以下字段: 服务单号、订单号、商品名称、申请数量、客户期望、返回方式、申请时间、收货超时时间、买家id、买家姓名、买家电话号码、是否有物流信息、物流公司、物流单号、全部物流信息、最新物流信息、物流在途时长(h)、是否已签收。

    5. 结果导出

    运行结束后,结果会保存在数据表格中,可根据需求自行导出到本地。

    五、适用场景

  • 电商售后订单处理:自动获取待处理订单信息,包括服务单号、订单号、商品名称、申请数量等。

  • 客户期望设置:根据客户需求自动设置售后处理期望,如退款、换货、维修等。

  • 物流信息查询:自动获取订单物流信息,更新物流状态,提高客服响应速度。

  • 订单状态跟踪:实时监控订单状态变化,及时处理异常订单。

  • 数据统计分析:自动收集并整理售后订单数据,生成统计报表,为运营决策提供支持。

  • 五、常见问题与建议

    1. 网页元素定位失败

    • 问题描述:运行过程中提示"元素未找到"错误。
    • 处理建议:检查对应页面的选择器是否正确,可能是网页结构发生了变化。可以使用影刀RPA的元素选择器工具重新获取元素,并更新selectorsV2.xml文件中的对应选择器。

    2. 流程执行超时

    • 问题描述:流程在执行过程中因为超时停止。
    • 处理建议:调整相关操作的timeout参数,适当延长等待时间。对于网络请求或页面加载操作,可以增加重试机制,如process5.py中的重试循环。

    3. 浏览器兼容性问题

    • 问题描述:在某些浏览器版本上无法正常运行。
    • 处理建议:确保使用影刀RPA支持的浏览器版本,推荐使用Chrome浏览器。同时,可以尝试调整web_type参数或浏览器模式。

    4. 数据获取不完整

    • 问题描述:获取的订单信息或物流信息不完整。
    • 处理建议:检查网络连接是否稳定,增加页面加载完成的等待时间。对于数据量大的情况,可以分批处理数据,避免一次性加载过多数据导致的性能问题。

    5. 配置参数错误

    • 问题描述:全局变量或配置参数设置错误导致流程执行失败。
    • 处理建议:检查package.py中的全局变量定义和settings.json文件中的配置参数,确保参数值正确无误。特别是涉及路径、URL等配置项,需要确保其准确性。

    六、源码下载

  • 应用市场:可在影刀RPA应用市场搜索"京东【自主售后】物流信息获取"进行下载安装。
  • 私聊
  • 七、后续扩展方向

  • 自动化报表生成:增加报表自动生成功能,支持多种格式导出,如Excel、PDF等。

  • 用户界面优化:开发更友好的用户界面,简化配置流程,提高用户体验。

  • 云服务集成:集成云存储和云服务,实现数据的云端备份和多设备同步。

  • 八、相关推荐

  • 京东评论获取_影刀RPA源码解读-CSDN博客
  • 京东插旗备注_影刀RPA源码解读-CSDN博客
  • 【天猫物流】信息批量获取与分析_影刀RPA源码解读-CSDN博客

    • 作者:RPA+AI十二工作室
    • CSDN博客:RPA+AI十二工作室-CSDN博客

    欢迎关注我的CSDN博客,获取更多RPA自动化开发技巧和项目源码。如有问题或合作意向,可私聊我。


    版权声明:本文档内容仅供学习交流使用,未经作者允许,请勿用于商业用途。

    如果觉得本文对你有帮助,欢迎分享给更多朋友,关注我的CSDN博客,获取更多RPA自动化开发技巧和项目源码更新。

    任何问题或建议,欢迎在评论区留言!

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 京东【自主售后】物流信息获取_影刀RPA源码解读
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!