怎么让影刀RPA,能”动态自定义调用不同浏览器”?基于字典映射原理的两种方案

0 阅读3分钟

很多人用影刀RPA开发网页自动化应用时,仍习惯把"浏览器类型"写死,自己用还好,一般不会有变动。但一旦你有其他更个性化的需求,或者要分享应用给别人用,问题就出来了。

图片

因为每个人的浏览器使用偏好不同,有的习惯用Edge,有的偏爱Chrome,还有的使用360浏览器。这样一来,这类"硬编码写死"的浏览器类型就成了瓶颈。

要让流程更通用,我们就需要考虑让应用支持"自定义选择浏览器"来执行任务。早些时候,影刀RPA还不支持"浏览器类型作为变量进行传递",如果直接用传统的If-Else 语句来判断浏览器类型,那么这部分流程会变得十分冗长。

图片

但从今年3月的V5.25版本开始,影刀正式支持"通过变量动态配置浏览器选项"。这使得用户可以通过"字典键值对映射"的方法来实现。即:让“浏览器名称(显示文本)” 和 “浏览器类型(技术代码)”相互映射

不同浏览器名称(键)、对应的浏览器类型(值),可以参考如下官方文档:

图片

依赖“字典映射"这个底层原理,下面分享两种我实测好用的方案,都不复杂,你自己看着用。

方案一:流程变量映射

这是直接在流程中创建字典,通过"**变量操作"**查询匹配的一种方法。

图片

指令详参配置如下:

图片

图片

图片

方案二:魔法指令映射

这种方法是将“映射逻辑”封装到魔法指令代码中,你只需要把  dialog_result.浏览器类型作为入参传入,返回值就是浏览器类型的值。

图片


from typing import *
try:
    from xbot.app.logging import trace as print
except:
    from xbot import print
def get_browser_code(browser_name):
    """
    title: 获取浏览器mode值
    description: 根据用户选择的浏览器名称 %browser_name%,返回对应的浏览器代码 %browser_code%。
    inputs:
        - browser_name (str): 浏览器名称,eg: "影刀浏览器"
    outputs:
        - browser_code (str): 浏览器mode,eg: "cef"
    """
    
    # 检查输入有效性
    if not isinstance(browser_name, str):
        raise ValueError("浏览器名称必须为字符串类型")
    
    def _get_browser_mapping():
        """
        定义浏览器名称与代码的映射关系
        """
        return {
            '影刀浏览器''cef',
            'Google Chrome浏览器''chrome',
            'Microsoft Edge浏览器''edge',
            'Internet Explorer浏览器''ie',
            '360安全浏览器''360se',
            'Firefox浏览器''firefox',
            'QQ浏览器''QQBrowser'
        }
    
    # 获取浏览器映射字典
    browser_mapping = _get_browser_mapping()
    
    # 检查浏览器名称是否存在
    if browser_name not in browser_mapping:
        available_browsers = ", ".join(browser_mapping.keys())
        raise ValueError(f"不支持的浏览器类型: {browser_name}。支持的浏览器有: {available_browsers}")
    
    # 返回对应的浏览器mode
    return browser_mapping[browser_name]

-END-

• 爱练字的ISTJ型互联网人/信息整合怪/工具人/影刀高级认证工程师。 • 专注分享:RPA&AI自动化场景提效方案、效率软件安利、实用技能。"所有的生产要素都可以被构建,只有认知是壁垒",欢迎関注 @掌心向暖

推荐阅读:

• 拒绝品牌碰瓷!如何通过影刀RPA为品牌IP搭建一套高效的“内容合规治理”工作流? • 那些拥有上千浏览器书签/收藏夹的电脑用户,是怎么管理书签的? • 不会编程的我开发了一款近900行指令的自动化RPA应用,完美解决98%以上复制受限的飞书文档!! • 飞书文档附件文件下载RPA方案2.0来了!不仅是PDF,Word、PPT、Excel、视频都能批量导出了,还都是源文件