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

使用Selenium Chrome Driver时网站账户信息异常的解决咨询

解决Selenium登录后账户信息异常的问题
  • 复用已登录的浏览器会话
    网站通常依靠Cookie、本地存储或会话存储识别已登录状态,而Selenium默认启动全新浏览器实例,没有你手动登录时的这些数据。可以让Selenium连接到你已经登录好的浏览器进程:

    • Chrome:先关闭所有Chrome窗口,在命令行执行 chrome.exe --remote-debugging-port=9222 启动浏览器,手动登录目标网站后,用以下代码连接:
      from selenium import webdriver
      from selenium.webdriver.chrome.options import Options
      
      options = Options()
      options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
      driver = webdriver.Chrome(options=options)
      

    这样Selenium会直接接管已登录的窗口,账户信息和手动访问一致。

  • 手动导入Cookie
    在常规浏览器登录后,通过开发者工具的Application面板复制网站Cookie(格式为包含name、value、domain等字段的列表),然后在Selenium中添加Cookie并刷新页面:

    # 示例Cookie列表,替换为你实际复制的内容
    cookies = [
        {"name": "session_id", "value": "xxx", "domain": "example.com"},
        {"name": "user_token", "value": "yyy", "domain": "example.com"}
    ]
    for cookie in cookies:
        # 删除可能导致报错的expiry字段
        if 'expiry' in cookie:
            del cookie['expiry']
        driver.add_cookie(cookie)
    driver.refresh()
    
  • 隐藏Selenium自动化特征
    部分网站会检测navigator.webdriver等特征,把自动化脚本判定为异常会话。可以通过配置浏览器选项屏蔽这些特征:

    • Chrome:
      options = Options()
      options.add_argument('--disable-blink-features=AutomationControlled')
      options.add_experimental_option("excludeSwitches", ["enable-automation"])
      options.add_experimental_option('useAutomationExtension', False)
      driver = webdriver.Chrome(options=options)
      # 执行JS修改navigator.webdriver属性
      driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
      
    • Firefox:
      from selenium.webdriver.firefox.options import Options
      
      options = Options()
      options.set_preference("dom.webdriver.enabled", False)
      options.set_preference('useAutomationExtension', False)
      driver = webdriver.Firefox(options=options)
      
  • 统一用户代理字符串
    Selenium默认用户代理和常规浏览器有差异,可能被网站识别为不同会话。可以设置和你常用浏览器一致的用户代理:

    # 替换为你实际浏览器的用户代理,可通过about:version(Chrome)或about:support(Firefox)查看
    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')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 13:42:11