影刀RPA进阶教程:浏览器环境选型与登录态保持——Cookie管理、多实例隔离与自动恢复

做电商自动化,你花80%时间维护的不是流程,是登录态

我最早做拼多多店群的时候,20个店铺每天手动登录一遍,还能忍。后来加到50个,每天早上光登录就要花40分钟——自动化的意义在哪? 更崩溃的是,流程半夜跑得好好的,凌晨3点某个店铺登录过期了,后面5个小时全白跑。

登录态失效是RPA里最让人抓狂的问题之一。今天就把浏览器环境怎么选、登录态怎么保持、多账号怎么隔离讲清楚。

浏览器环境选型:影刀内置 vs 本地Chrome vs 指纹浏览器

影刀RPA操作网页,本质上是操控一个浏览器。但具体用哪个浏览器,有三种选择:

picture.image

方案优点缺点适合场景
影刀内置浏览器(CEF)开箱即用,兼容性最好指纹特征明显,容易被风控大多数场景

picture.image | 本地Chrome/Edge | 更接近真人环境 | 需要安装插件,配置稍复杂 | 对风控敏感的平台 | | 指纹浏览器(AdsPower等) | 环境隔离最强,指纹可定制 | 需要额外软件,有成本 | 多账号店群、高风控平台 |

新手直接用影刀内置浏览器,稳定性最高。影刀的“打开网页”指令默认使用的就是内置浏览器。

picture.image 如果平台风控比较严(比如TikTok Shop、TEMU),可以考虑切换到本地Chrome。配置方法:在“打开网页”指令的“浏览器类型”下拉框里选“Google Chrome浏览器”。

指纹浏览器适合店群场景——每个店铺一个独立的浏览器环境,Canvas、WebGL、时区、语言等指纹完全隔离。影刀可以操控指纹浏览器,本质上就是把影刀的自动化指令作用在指纹浏览器的页面上。

登录态为什么总是丢:五个根本原因

picture.image

很多新手以为“浏览器登录一次,Cookie存下来,下次直接用就行”。现实远没那么简单。

原因说明发生频率

picture.image | Cookie自然过期 | 网站Session默认24小时/30分钟等 | 最常见 | | 关闭时终止了浏览器进程 | 影刀关闭网页时勾选了“终止浏览器进程” | 极易踩坑 | | 异地登录互踢 | 同账号在另一台设备登录,当前被强制下线 | 店群高发 | | IP地址变化 | 服务器重启后IP变了,网站认为是新设备 | 服务器场景 | | 验证码/风控拦截 | 操作频率过高触发滑块或图片验证 | 采集高频时 |

先说最容易解决的那个坑:影刀关闭网页时,如果勾选了“终止浏览器进程”,下次打开网页就不会保持登录状态。解决方法:关闭网页时不要勾选“终止浏览器进程”

Cookie管理:登录态持久化的核心操作

影刀浏览器关闭后Cookie默认就没了,下次重新登录浪费时间。核心思路:每次跑完流程,把关键Cookie存储到文件;下次开始时先加载Cookie

picture.image

picture.image

获取Cookie

在右侧指令面板搜索“获取筛选所有Cookie”或“获取指定Cookie信息”。

操作步骤:

  1. 先用“打开网页”打开目标网站并手动登录(或通过流程登录)
  2. 拖入“获取筛选所有Cookie”指令
  3. 选择网页对象,执行后把Cookie存到一个变量里(比如$Cookie列表
  4. 用“写入文本”或“写入表格”把Cookie数据保存到本地文件
# 获取当前页面的所有Cookie
获取筛选所有Cookie:
    网页对象 = $当前网页
    返回结果 → $Cookie列表

# 把Cookie保存到本地文件(JSON格式)
写入文本:
    文件路径 = “C:\cookies\taobao_cookie.json”
    内容 = $Cookie列表
    追加 = False  # 覆盖写入

注意:影刀5.16版本及之后,“获取筛选所有Cookie”指令升级为V2版本,支持筛选具有PartitionKey属性的Cookie。

设置Cookie(加载登录态)

picture.image

下次运行流程时,先加载保存的Cookie,就不用重新登录了。

操作步骤:

  1. 用“读取文本”或“读取表格”从本地文件加载Cookie数据
  2. 拖入“设置Cookie”指令
  3. 把加载的Cookie设置到当前网页对象
# 从本地文件读取Cookie
读取文本:
    文件路径 = “C:\cookies\taobao_cookie.json”
    返回结果 → $Cookie数据

# 设置Cookie到当前网页
设置Cookie:
    网页对象 = $当前网页
    Cookie数据 = $Cookie数据

设置Cookie时的一个关键参数:需要指定与Cookie关联的URL,这个值影响创建Cookie的默认domain和path值。一般填目标网站的主域名就行,比如https://www.taobao.com

多账号环境隔离:一个账号一个浏览器实例

做店群或矩阵运营,一个浏览器跑50个店铺,又慢又容易串号——Cookie串了、登录态混了、封一个号全挂了。

核心方案:让每个账号跑在独立的浏览器实例里,互不干扰

picture.image

方案一:影刀内置的多浏览器支持

picture.image 影刀支持同时打开多个浏览器窗口,每个窗口独立的Cookie和Session。

操作步骤:

  1. 每次调用“打开网页”指令时,在“打开方式”下拉框中选择“新浏览器
  2. 每个账号用独立的“打开网页_新浏览器”指令
  3. 每个浏览器实例有自己的Cookie和缓存,互不影响
# 账号A:打开新浏览器
打开网页:
    URL = “https://seller.taobao.com”
    打开方式 = “新浏览器”
    返回结果 → $浏览器A

# 账号B:再开一个新浏览器
打开网页:
    URL = “https://seller.taobao.com”
    打开方式 = “新浏览器”
    返回结果 → $浏览器B

方案二:指定用户数据目录(Profile隔离)

更彻底的隔离方式——每个账号指定一个独立的用户数据目录(User Data Dir)

影刀的“选择浏览器用户”指令可以指定目标浏览器的用户环境,支持Chrome内核浏览器。

操作步骤:

  1. 在“打开网页”指令中,勾选“指定数据目录
  2. 每个账号填不同的目录路径,比如D:\browser_profiles\账号AD:\browser_profiles\账号B
  3. 每个目录独立保存Cookie、LocalStorage、IndexedDB等所有浏览器数据
# 账号A:使用独立的数据目录
打开网页:
    URL = “https://seller.taobao.com”
    浏览器类型 = “Google Chrome浏览器”
    指定数据目录 = True
    数据目录路径 = “D:\browser_profiles\account_001”

# 账号B:使用另一个独立的数据目录
打开网页:
    URL = “https://seller.taobao.com”
    浏览器类型 = “Google Chrome浏览器”
    指定数据目录 = True
    数据目录路径 = “D:\browser_profiles\account_002”

每个目录保存独立的:浏览器配置、本地存储、用户数据。这样做最大的好处是环境稳定。

一个容易被忽略的点:用户标识名称仅支持浏览器自动生成的格式(如“Profile 1”)或包含英文字母和数字的自定义名称。如果看不到你的浏览器用户名称,检查是否已至少启动过一次浏览器(首次启动会自动创建默认数据目录)。

登录态自动检测与恢复:全链路覆盖

光保存Cookie还不够,你得在流程里主动检测登录态是否有效,而不是等流程跑了一半报错才发现。

检测登录态

在每个关键节点(流程开始、翻页后、执行敏感操作前)检测登录状态。

检测方法:查找只有登录后才出现的元素——比如用户头像、用户名、退出按钮。

# 检测是否已登录
# 方法:判断“用户头像”或“退出按钮”是否存在
获取相似元素列表“用户头像” → $头像列表
获取列表长度 → $头像数量

如果 $头像数量 > 0
    # 已登录,继续执行
    输出日志“登录态有效”
否则
    # 未登录,执行重新登录
    调用子流程“重新登录”
结束

自动重新登录

检测到登录态失效后,自动触发重新登录。

# 重新登录子流程(简化版)
子流程:重新登录

# 跳转到登录页
打开网页:登录URL

# 等待页面加载
等待元素显示:“用户名输入框”

# 输入账号密码
输入文本:“用户名输入框”,内容 = $账号
输入文本:“密码输入框”,内容 = $密码

# 点击登录按钮
点击元素:“登录按钮”

# 等待登录完成
等待元素显示:“用户头像”

# 登录成功后,重新保存Cookie(更新本地文件)
获取筛选所有Cookie → $新Cookie
写入文本:保存到本地文件

注意:有些平台登录后默认是扫码模式,需要先切换到账密登录模式。在点击“登录”之前,先判断是否存在“账密登录”或“切换登录方式”的按钮,有的话先点一下。

Cookie过期后的处理策略

Cookie过期后再次登录,可能触发短信验证码或滑块验证。这时候不能简单地用账号密码自动重登。

应对策略:

  1. 降频重试:第一次失败后等待30秒再试
  2. 通知人工介入:连续失败3次后,通过企微/飞书发送告警,通知人工处理验证码
  3. 备用方案:如果平台支持,提前绑定备用手机号或邮箱作为二次验证渠道

动态调用不同浏览器:让流程更通用

影刀从V5.25版本开始,正式支持“通过变量动态配置浏览器选项”。这意味着你可以让用户自己选择用Chrome还是Edge,而不是写死在流程里。

核心方法:字典键值对映射——让“浏览器名称(显示文本)”和“浏览器类型(技术代码)”相互映射。

# 浏览器名称与代码的映射
浏览器映射 = {
    ‘影刀浏览器’: ‘cef’,
    ‘Google Chrome浏览器’: ‘chrome’,
    ‘Microsoft Edge浏览器’: ‘edge’,
}
# 根据用户选择的名称获取对应的浏览器代码
$浏览器代码 = 浏览器映射[$用户选择的浏览器名称]

具体有两种实现方案:

  • 方案一:流程变量映射——直接在流程中创建字典,通过变量操作查询匹配
  • 方案二:魔法指令映射——将映射逻辑封装到魔法指令代码中

五个常见问题速查

问题现象根本原因修复方法
下次打开网页登录态没了关闭时勾选了“终止浏览器进程”关闭网页时不要勾选“终止浏览器进程”
多个账号Cookie串了所有账号共用同一个浏览器实例每个账号用独立的浏览器实例或独立的数据目录
Cookie保存了但加载无效设置Cookie时URL参数不对确保设置Cookie的URL与Cookie的domain匹配
流程跑一半提示登录过期未在流程中检测登录态在关键节点加登录态检测,失效时自动重新登录
不同电脑上登录态不通用用户数据目录路径不同把Cookie导出为文件,跨设备传输后加载

推荐资源

  • 影刀官方帮助文档搜索“Cookie”或“选择浏览器用户”,有完整的指令说明
  • 影刀官方帮助文档“打开网页”指令,了解浏览器类型和数据目录的配置方法
  • 影刀社区搜索“登录态”或“Cookie管理”,有大量实战案例分享

#影刀RPA #RPA自动化 #浏览器管理 #Cookie #登录态保持 #多账号管理

作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。如果这篇文章对你有帮助,欢迎点赞收藏,下一篇我们聊“多账号管理与代理IP配置的完整方案”。

0
0
0
0
评论
未登录
暂无评论