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

使用Chrome配置文件无法自动登录网站的技术求助

解决Selenium调用Chrome配置文件无法加载保存密码的问题

问题描述

通过Selenium调用Chrome指定配置文件时,浏览器能正常识别配置(右上角显示“fb”),但无法自动登录需凭证的网站,Selenium启动的浏览器中看不到保存的密码;手动打开同一配置文件却能正常显示已保存的凭证,Chrome版本为120.0.6099.216,路径已确认正确。

解决方案

以下是针对该问题的具体修复步骤:

  • 关闭所有Chrome进程再启动Selenium
    若手动打开了目标配置的Chrome窗口,配置文件会被锁定,Selenium启动的实例无法读取完整的凭证数据。先关闭所有Chrome窗口,再通过ps aux | grep chrome检查并杀死后台残留的Chrome进程,然后重新运行代码。

  • 匹配ChromeDriver与Chrome版本
    ChromeDriver版本必须和Chrome浏览器版本完全一致(包括小版本号)。当前Chrome版本是120.0.6099.216,需下载对应版本的ChromeDriver,避免版本不兼容导致的配置读取异常。

  • 添加禁用自动化检测的参数
    Selenium默认会给Chrome打上自动化标识,部分浏览器安全策略会限制保存的密码加载。在配置ChromeOptions时添加以下参数:

    chrome_options.add_argument("--disable-blink-features=AutomationControlled")
    chrome_options.add_argument("--disable-password-manager-reauthentication")
    
  • 检查配置文件路径权限
    在Linux环境下,/home/name/.config/google-chrome目录的读写权限需对运行Selenium的用户开放。可通过chmod -R 755 /home/name/.config/google-chrome调整权限,确保进程能正常读取配置文件中的凭证数据。

  • 避免headless模式(如需加载密码)
    headless模式下Chrome的密码管理功能存在限制,若需加载保存的密码,请勿启用--headless参数。

修改后的示例代码

def setup():
    try:
        log.info("setting profile")
        driver, action = setupWebdriver(profile_path="/home/name/.config/google-chrome",profile_name="Profile 12")
        time.sleep(5)
        driver.get("https://www.facebook.com/")
       
    except Exception as e:
        log.error(e)
    return driver,action


def setupWebdriver(profile_path=None,profile_name=None):
    '''Set up Selenium Webdriver'''
    
    chrome_options = Options()
    if profile_path is not None:
        chrome_options.add_argument(f'--user-data-dir={profile_path}')
        chrome_options.add_argument(f"profile-directory={profile_name}")
        chrome_options.add_argument("--start-maximized")
        # 添加修复参数
        chrome_options.add_argument("--disable-blink-features=AutomationControlled")
        chrome_options.add_argument("--disable-password-manager-reauthentication")
        # chrome_options.add_argument("--headless") # 加载密码时请勿启用该参数
        driver=webdriver.Chrome(options=chrome_options)
       
        driver.maximize_window()
        action = ActionChains(driver)
    else:
        chrome_options.add_argument("--headless") #For AWS/GCP/
        chrome_options.add_argument("enable-automation")
        chrome_options.add_argument("--window-size=1920,1080")
        chrome_options.add_argument("--start-maximized")
        chrome_options.add_argument("--no-sandbox")
        chrome_options.add_argument("--disable-extensions")
        chrome_options.add_argument("--dns-prefetch-disable")
        chrome_options.add_argument("--disable-gpu")
        driver=webdriver.Chrome(options=chrome_options)
        driver.delete_all_cookies()
        driver.maximize_window()
        action = ActionChains(driver)
    return driver,action

内容的提问来源于stack exchange,提问作者Rahul kumar Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 10:46:19