You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium Safari/Chrome如何保留登录状态并规避机器人检测?

可以通过配置Selenium选项解决这两个问题,具体方案如下:

一、解决自动登录问题:复用本地浏览器会话数据

手动浏览器能自动登录,核心是它会把登录状态(Cookie、会话信息)存储在本地用户数据目录中。只要让Selenium复用这个目录,就能直接继承已有的登录状态。

Chrome配置方法

  1. 先找到本地Chrome的用户数据目录:
    • Windows:C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data
    • Mac:~/Library/Application Support/Google/Chrome/Default
    • Linux:~/.config/google-chrome/Default
  2. 在Selenium中指定该目录,示例代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 注意:若使用Default配置文件,此处填写User Data的上级路径,再通过profile-directory指定具体配置
chrome_options.add_argument(r"user-data-dir=C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data")
chrome_options.add_argument("--profile-directory=Default")

driver = webdriver.Chrome(options=chrome_options)
driver.get("https://instagram.com")

启动后会直接复用你手动登录过的Chrome配置,无需再次输入账号密码。

Safari配置方法

  1. 先开启Safari的远程自动化:打开Safari偏好设置 → 高级 → 勾选「在菜单栏中显示开发菜单」,随后点击顶部菜单栏的「开发」→「允许远程自动化」
  2. 直接启动Safari驱动即可复用本地会话,示例代码:
from selenium import webdriver

driver = webdriver.Safari()
driver.get("https://instagram.com")

只要你之前手动登录过Instagram,Selenium打开后会自动保持登录状态。

二、解决机器人识别问题:修改Selenium特征

Selenium默认会留下明显的自动化痕迹(比如特定的navigator.webdriver属性),通过以下配置可以降低被网站识别的概率:

Chrome核心配置(示例)

chrome_options.add_argument("--disable-blink-features=AutomationControlled")  # 禁用自动化检测标志
chrome_options.add_argument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36")  # 设置和手动浏览器一致的User-Agent
chrome_options.add_argument("--disable-extensions")  # 禁用扩展,避免异常特征
chrome_options.add_argument("--start-maximized")  # 最大化窗口,模拟手动操作
# 移除自动化提示条和默认扩展
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option('useAutomationExtension', False)

注:User-Agent可在手动Chrome中访问about:version查看,直接复制对应的值即可。

额外注意事项

  • 使用用户数据目录时,必须关闭所有手动打开的Chrome窗口,否则会出现「Chrome正在运行」的冲突错误
  • 即使配置了以上选项,也尽量模拟人的操作节奏(比如用time.sleep()或WebDriverWait添加合理等待),避免短时间内频繁操作触发网站的行为检测

内容的提问来源于stack exchange,提问作者DerFranzG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:15:32