让 Python 控制使用已登录配置的“真实”Chrome浏览器的完整流程
这个方法的核心是:手动启动一个带有远程调试端口的 Chrome 实例,并指定您的默认用户配置文件,然后让 Python 的 Selenium 客户端连接到这个实例进行控制。
收藏指南:使用已登录配置控制“真实” Chrome
步骤一:创建并运行 Chrome 启动脚本(.bat 文件)
您需要创建一个 .bat 文件来启动 Chrome,确保它加载了您的登录信息并开启了远程控制端口。
1. 查找您的配置文件路径
在 Chrome 地址栏输入 chrome://version/,找到“个人资料路径”。复制该路径中包含 User Data 的完整目录。
示例路径: C:\Users\您的用户名\AppData\Local\Google\Chrome\User Data
2. .bat 文件内容
将以下代码保存为 Start_My_Auth_Chrome.bat 文件,并替换您的 Chrome 路径和用户数据路径。
DOS
@echo off
REM *** 1. 环境变量设置 ***
REM 确保将路径替换为您系统中 Google Chrome 的实际安装路径
set CHROME_PATH="C:\Program Files\Google\Chrome\Application\chrome.exe"
REM 指定远程调试端口(Python脚本将连接这个端口)
set DEBUG_PORT=9222
REM ❗ 核心:替换为您实际的 User Data 路径,确保加载已登录信息 ❗
set USER_DATA_PATH="C:\Users\您的用户名\AppData\Local\Google\Chrome\User Data"
REM *** 2. 启动命令 ***
REM 确保在运行此脚本前,所有其他 Chrome 窗口都已关闭,以避免配置文件冲突。
"%CHROME_PATH%" --remote-debugging-port=%DEBUG_PORT% --user-data-dir=%USER_DATA_PATH%
echo Chrome 已用您的默认配置启动,端口 %DEBUG_PORT% 正在监听。
pause
步骤二:编写 Python 控制脚本
在您的 Python 脚本中,只需要告诉 Selenium 连接到您在第一步中启动的实例即可。
Python 代码 (control_chrome.py)
Python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# --- 1. 配置连接参数 ---
# 确保这里的端口号与 .bat 文件中的 --remote-debugging-port 保持一致
DEBUGGER_ADDRESS = "127.0.0.1:9222"
# 创建 Chrome Options 对象
chrome_options = Options()
# 核心步骤:指定要连接的调试地址
chrome_options.add_experimental_option("debuggerAddress", DEBUGGER_ADDRESS)
# --- 2. 连接并操作 ---
try:
# Selenium 客户端连接到已启动的 Chrome 实例
driver = webdriver.Chrome(options=chrome_options)
print(f"✅ 成功连接到 Chrome 实例: {DEBUGGER_ADDRESS}")
# 定义您要访问的网页
TARGET_URL = "https://www.target-website-requiring-login.com"
# 控制浏览器打开指定的网页(它会使用已登录的会话)
driver.get(TARGET_URL)
print(f"浏览器已导航到: {driver.current_url}")
# *** 在这里添加您的自动化操作代码 ***
# driver.find_element(...)
# 保持脚本运行一段时间,以便您观察操作结果
import time
time.sleep(15)
except Exception as e:
print(f"❌ 连接或操作失败。请检查:1. .bat文件是否正在运行;2. 端口是否冲突。")
print(f"错误信息: {e}")
finally:
# 如果您希望浏览器一直开着,等待下一次连接,请注释掉 driver.quit()。
# 如果要彻底关闭浏览器实例,则取消注释。
# driver.quit()
pass
运行流程
准备: 确保您所有日常使用的 Chrome 窗口都已关闭。
启动 Chrome: 双击运行您的 .bat 文件。一个 Chrome 窗口会打开,加载您的默认配置。请保持这个窗口和命令行窗口打开。
运行 Python: 运行您的 control_chrome.py 脚本。脚本将接管并控制该 Chrome 窗口执行操作。
核心优势总结:
真实性: 完全绕过 chromedriver 的启动机制,网站无法检测到 navigator.webdriver 等自动化标志。
登录状态: 通过 --user-data-dir 参数,利用您已登录的 Cookies 和会话信息,免去了自动输入用户名和密码的步骤。
浙公网安备 33010602011771号