影刀RPA--多页订单自动发货

实现思路
通过打开指定网页,获取网页对象后,先对页码进行获取,然后通过for循环每一页的每一条数据
匹配规则:商品不为篮球鞋时,就点击确认发货

在这里插入图片描述
在这里插入图片描述

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:
                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=("多页订单自动发货", 1, "获取已打开的网页对象"))
                break
            except Exception as e:
                if _xbot_retry_time == 3:
                    raise e
                else:
                    xbot_visual.programing.log(type='info',text=e,_block=("多页订单自动发货", 1,"获取已打开的网页对象"))
            time.sleep(3)
        页码_element_list = xbot_visual.web.element.get_all_elements(browser=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=("多页订单自动发货", 2, "获取相似元素列表(web)"))
        页码set = 页码_element_list[-2]
        for loop_index in xbot_visual.workflow.range_iterator(start="1", stop=页码set, step="1", _block=("多页订单自动发货", 4, "For次数循环")):
            #region 自动发货
            for 每次循环出来的的订单 in xbot_visual.web.element.iter_all_elements(browser=web_page, selector=package.selector("订单_相似元素组"), operation="element", absolute_url=False, attribute_name=None, timeout="20", loop_start_index="0", loop_end_index="-1", output_with_index=False, _block=("多页订单自动发货", 6, "循环相似元素(web)")):
                订单内容text = xbot_visual.web.element.get_details(browser=web_page, element=每次循环出来的的订单, operation="text", absolute_url=False, attribute_name=None, relative_to="screen", to96dpi=True, timeout="20", _block=("多页订单自动发货", 7, "获取元素信息(web)"))
                if xbot_visual.workflow.multiconditional_judgment(relation="and", conditionals=[{"operand1": 订单内容text,"operand2": "完成","operator": "in"},{"operand1": 订单内容text,"operand2": "篮球鞋","operator": "not in"}], _block=("多页订单自动发货", 8, "IF 多条件")):
                    确认发货_element = xbot_visual.web.element.get_element(browser=web_page, select_type="selector", selector=package.selector("确认发货-317"), css_selector="", xpath_selector="", is_related_parent=True, parent=每次循环出来的的订单, timeout="20", _block=("多页订单自动发货", 9, "获取元素对象(web)"))
                    xbot_visual.web.element.click(browser=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=("多页订单自动发货", 10, "点击元素(web)"))
                    xbot_visual.web.element.click(browser=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=("多页订单自动发货", 11, "点击元素(web)"))
                #endif
            #endloop
            #endregion
            if xbot_visual.workflow.test(operand1=loop_index, operator="!=", operand2=页码set, operator_options="{}", _block=("多页订单自动发货", 15, "IF 条件")):
                xbot_visual.web.element.click(browser=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=("多页订单自动发货", 16, "点击元素(web)"))
            #endif
        #endloop
    finally:
        pass

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值