做电商自动化,你花80%时间维护的不是流程,是登录态。
我最早做拼多多店群的时候,20个店铺每天手动登录一遍,还能忍。后来加到50个,每天早上光登录就要花40分钟——自动化的意义在哪? 更崩溃的是,流程半夜跑得好好的,凌晨3点某个店铺登录过期了,后面5个小时全白跑。
登录态失效是RPA里最让人抓狂的问题之一。今天就把浏览器环境怎么选、登录态怎么保持、多账号怎么隔离讲清楚。
浏览器环境选型:影刀内置 vs 本地Chrome vs 指纹浏览器
影刀RPA操作网页,本质上是操控一个浏览器。但具体用哪个浏览器,有三种选择:
| 方案 | 优点 | 缺点 | 适合场景 |
|---|---|---|---|
| 影刀内置浏览器(CEF) | 开箱即用,兼容性最好 | 指纹特征明显,容易被风控 | 大多数场景 |
| 本地Chrome/Edge | 更接近真人环境 | 需要安装插件,配置稍复杂 | 对风控敏感的平台 |
| 指纹浏览器(AdsPower等) | 环境隔离最强,指纹可定制 | 需要额外软件,有成本 | 多账号店群、高风控平台 |
新手直接用影刀内置浏览器,稳定性最高。影刀的“打开网页”指令默认使用的就是内置浏览器。
如果平台风控比较严(比如TikTok Shop、TEMU),可以考虑切换到本地Chrome。配置方法:在“打开网页”指令的“浏览器类型”下拉框里选“Google Chrome浏览器”。
指纹浏览器适合店群场景——每个店铺一个独立的浏览器环境,Canvas、WebGL、时区、语言等指纹完全隔离。影刀可以操控指纹浏览器,本质上就是把影刀的自动化指令作用在指纹浏览器的页面上。
登录态为什么总是丢:五个根本原因
很多新手以为“浏览器登录一次,Cookie存下来,下次直接用就行”。现实远没那么简单。
| 原因 | 说明 | 发生频率 |
|---|
| Cookie自然过期 | 网站Session默认24小时/30分钟等 | 最常见 |
| 关闭时终止了浏览器进程 | 影刀关闭网页时勾选了“终止浏览器进程” | 极易踩坑 |
| 异地登录互踢 | 同账号在另一台设备登录,当前被强制下线 | 店群高发 |
| IP地址变化 | 服务器重启后IP变了,网站认为是新设备 | 服务器场景 |
| 验证码/风控拦截 | 操作频率过高触发滑块或图片验证 | 采集高频时 |
先说最容易解决的那个坑:影刀关闭网页时,如果勾选了“终止浏览器进程”,下次打开网页就不会保持登录状态。解决方法:关闭网页时不要勾选“终止浏览器进程”。
Cookie管理:登录态持久化的核心操作
影刀浏览器关闭后Cookie默认就没了,下次重新登录浪费时间。核心思路:每次跑完流程,把关键Cookie存储到文件;下次开始时先加载Cookie。
获取Cookie
在右侧指令面板搜索“获取筛选所有Cookie”或“获取指定Cookie信息”。
操作步骤:
- 先用“打开网页”打开目标网站并手动登录(或通过流程登录)
- 拖入“获取筛选所有Cookie”指令
- 选择网页对象,执行后把Cookie存到一个变量里(比如
$Cookie列表) - 用“写入文本”或“写入表格”把Cookie数据保存到本地文件
# 获取当前页面的所有Cookie
获取筛选所有Cookie:
网页对象 = $当前网页
返回结果 → $Cookie列表
# 把Cookie保存到本地文件(JSON格式)
写入文本:
文件路径 = “C:\cookies\taobao_cookie.json”
内容 = $Cookie列表
追加 = False # 覆盖写入
注意:影刀5.16版本及之后,“获取筛选所有Cookie”指令升级为V2版本,支持筛选具有PartitionKey属性的Cookie。
设置Cookie(加载登录态)
下次运行流程时,先加载保存的Cookie,就不用重新登录了。
操作步骤:
- 用“读取文本”或“读取表格”从本地文件加载Cookie数据
- 拖入“设置Cookie”指令
- 把加载的Cookie设置到当前网页对象
# 从本地文件读取Cookie
读取文本:
文件路径 = “C:\cookies\taobao_cookie.json”
返回结果 → $Cookie数据
# 设置Cookie到当前网页
设置Cookie:
网页对象 = $当前网页
Cookie数据 = $Cookie数据
设置Cookie时的一个关键参数:需要指定与Cookie关联的URL,这个值影响创建Cookie的默认domain和path值。一般填目标网站的主域名就行,比如https://www.taobao.com。
多账号环境隔离:一个账号一个浏览器实例
做店群或矩阵运营,一个浏览器跑50个店铺,又慢又容易串号——Cookie串了、登录态混了、封一个号全挂了。
核心方案:让每个账号跑在独立的浏览器实例里,互不干扰。
方案一:影刀内置的多浏览器支持
影刀支持同时打开多个浏览器窗口,每个窗口独立的Cookie和Session。
操作步骤:
- 每次调用“打开网页”指令时,在“打开方式”下拉框中选择“新浏览器”
- 每个账号用独立的“打开网页_新浏览器”指令
- 每个浏览器实例有自己的Cookie和缓存,互不影响
# 账号A:打开新浏览器
打开网页:
URL = “https://seller.taobao.com”
打开方式 = “新浏览器”
返回结果 → $浏览器A
# 账号B:再开一个新浏览器
打开网页:
URL = “https://seller.taobao.com”
打开方式 = “新浏览器”
返回结果 → $浏览器B
方案二:指定用户数据目录(Profile隔离)
更彻底的隔离方式——每个账号指定一个独立的用户数据目录(User Data Dir) 。
影刀的“选择浏览器用户”指令可以指定目标浏览器的用户环境,支持Chrome内核浏览器。
操作步骤:
- 在“打开网页”指令中,勾选“指定数据目录”
- 每个账号填不同的目录路径,比如
D:\browser_profiles\账号A、D:\browser_profiles\账号B - 每个目录独立保存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过期后再次登录,可能触发短信验证码或滑块验证。这时候不能简单地用账号密码自动重登。
应对策略:
- 降频重试:第一次失败后等待30秒再试
- 通知人工介入:连续失败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配置的完整方案”。
