【解决方案】—— 实现等待相似元素
回答
收藏

【解决方案】—— 实现等待相似元素

驿站
2022-12-09 10:18·浏览量:1306
驿站
发布于 2022-12-09 10:181306浏览

    新版本更新后,等待元素指令如果匹配到多个元素就会抛出异常,我这里建议大家还是遵循现有的设计。当然啦,大家如果实在想要等待多个元素的功能,那我还是会尽可能的满足大家。


我们先写一个装饰器:

def wait_elements(func):

    def wrapper(*args, **kwargs):

        state = kwargs["state"]

        try:

            res = func(*args, **kwargs)

            return res

        except Exception as exception:

            exception = xbot_visual.trace(exception)

            if "匹配到多个元素, 无法唯一定位" in exception:

                return state == "appear"

            raise exception

    return wrapper

xbot_visual.web.element.wait = wait_elements(xbot_visual.web.element.wait)


然后在主流程第一行指令使用插入代码段,将上述代码粘贴进去


这样我们就实现了等待多个元素的功能,并且是全局生效

为了方便使用也可以封装成自定义指令,一样的放在第一行就行了

收藏2
全部回答1
最新
发布回答
回答