【掌心向暖RPA】怎么让影刀RPA,能”动态自定义调用不同浏览器”?
评论
收藏

【掌心向暖RPA】怎么让影刀RPA,能”动态自定义调用不同浏览器”?

经验分享
掌心向暖
2025-12-21 17:29·浏览量:732
掌心向暖
影刀中级开发者
发布于 2025-11-07 19:47更新于 2025-12-21 17:29732浏览

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

【*其他平台首发的,个人习惯:防止其他人搬运,图片都加了水印,观感不佳(不影响核心信息展示),XDM多担待】

因为每个人的浏览器使用偏好不同,有的习惯用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]


收藏3
全部评论1
最新
发布评论
评论