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

求助:Linux服务器上Selenium如何复用已有Chrome实例会话

复用Linux服务器现有Chrome会话的解决方案

你的问题核心是:当前指定的user-data-dir=selenium是Selenium创建的独立目录,并非服务器上Chrome默认的用户数据存储路径,所以无法复用手动登录的会话。以下是具体解决步骤:

1. 定位Chrome默认用户数据目录

Linux环境下Chrome的默认用户数据路径:

  • 普通用户:~/.config/google-chrome/
  • root用户:/root/.config/google-chrome/

注意:使用该目录前,必须确保服务器上没有其他Chrome实例在运行——Chrome不允许多个进程共用同一个用户数据目录,否则会启动失败。

2. 修改Selenium配置指向真实目录

替换代码中user-data-dir的参数值,同时可通过profile-directory指定具体配置文件(比如默认的Default)。修改后的完整代码如下:

import sys
import time

import typer
import requests

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.ui import WebDriverWait

from typing import Tuple


chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--window-size=1920x1080")
chrome_options.add_argument("--verbose")
# chrome_options.add_argument("--headless")
# 替换为你的Chrome用户数据根目录
chrome_options.add_argument("--user-data-dir=/home/your_username/.config/google-chrome")
# 指定使用默认配置文件
chrome_options.add_argument("--profile-directory=Default")
chrome_options.add_argument("--start-maximized")

driver = webdriver.Chrome(options=chrome_options)


def check_and_login():
    driver.get('https://*****.*****.com/#/')
    try:
        # 等待5秒,若登录框出现则执行登录
        username_input = WebDriverWait(driver, 5).until(
            ec.presence_of_element_located((By.ID, "username"))
        )
        username_input.send_keys("your_username")
        driver.find_element(By.ID, "password").send_keys("your_password")
        driver.find_element(By.ID, "submitButton_label").click()
    except:
        # 未检测到登录框,说明已处于登录状态
        print("已登录,无需操作")

if __name__ == "__main__":
    typer.run(check_and_login)

额外注意事项

  • 若需要同时运行手动Chrome和Selenium Chrome:复制一份默认用户数据目录到新路径(比如~/chrome-selenium-profile),让Selenium使用该副本,同时手动登录一次该副本目录的Chrome以保存会话。
  • 确保运行脚本的用户对目标用户数据目录有读写权限,否则会无法加载会话数据。
  • 启用headless模式时,部分网站会触发反爬机制强制登录,可尝试添加--disable-blink-features=AutomationControlled参数规避检测,验证会话复用成功后再开启headless。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 11:12:07