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

Chrome搭配Tor代理配置问题:匿名WebDriver失效及uBlock加载异常

解决Chrome WebDriver无法通过Tor代理及uBlock扩展加载失败的问题

太懂这种突然掉链子的糟心了——Chrome重置后,之前稳得一批的匿名WebDriver突然不走Tor,连uBlock也加载失败,大概率是因为WebDriver默认会启动干净的临时Chrome配置文件,重置后的Chrome不会自动继承旧的代理设置,扩展加载也得靠显式配置才行。下面是具体的修复方案:

1. 核心问题拆解

  • Tor启动后,Chrome不会自动识别代理,必须在WebDriver里明确指定SOCKS5代理地址
  • WebDriver默认会隔离Chrome的默认扩展列表,uBlock得手动指定路径加载
  • 旧版Tor(你用的0.2.9.9是2017年的老版本)可能和新版Chrome存在兼容性问题

2. 修改后的完整代码示例

import os
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import socket

def check_tor_running():
    # 检查Tor的9050端口是否已监听,确保Tor真的启动完成
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    result = sock.connect_ex(('127.0.0.1', 9050))
    sock.close()
    return result == 0

def anon_drive():
    tor_path = r"C:\Users\xxx\Downloads\tor-win32-0.2.9.9\Tor\tor.exe"
    # 先检查Tor是否已经在运行,避免重复启动
    if not check_tor_running():
        os.startfile(tor_path)
        # 循环等待Tor启动,最多等30秒(比固定10秒更可靠)
        wait_timer = 0
        while not check_tor_running() and wait_timer < 30:
            time.sleep(2)
            wait_timer += 2
        if wait_timer >= 30:
            raise Exception("Tor启动超时!请检查Tor路径是否正确,或防火墙是否拦截")
    
    # 配置Chrome核心选项
    chrome_options = Options()
    # 启用隐身模式(增强匿名性,可选)
    chrome_options.add_argument("--incognito")
    # 禁用WebDriver自动化检测,避免Chrome限制功能
    chrome_options.add_argument("--disable-blink-features=AutomationControlled")
    chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
    chrome_options.add_experimental_option('useAutomationExtension', False)
    
    # 强制指定Tor的SOCKS5代理
    chrome_options.add_argument('--proxy-server=socks5://127.0.0.1:9050')
    # 本地请求不走代理(避免Tor处理localhost流量,可选)
    chrome_options.add_argument('--proxy-bypass-list=localhost;127.0.0.1')
    
    # 加载uBlock扩展(替换成你自己的扩展路径)
    # 路径获取方法:Chrome开启开发者模式后,在chrome://extensions/里复制uBlock的crx路径或解压文件夹路径
    chrome_options.add_extension(r"C:\Users\xxx\AppData\Local\Google\Chrome\User Data\Default\Extensions\cjpalhdlnbpafiamejdnhcphjbkeiagm\1.52.0_0.crx")
    # 如果是解压后的扩展文件夹,用这个:
    # chrome_options.add_argument(r'--load-extension=C:\path\to\your\ublock-folder')
    
    # 初始化WebDriver
    driver = webdriver.Chrome(options=chrome_options)
    return driver

# 测试验证
if __name__ == "__main__":
    driver = anon_drive()
    driver.get("https://check.torproject.org/")
    print("是否成功通过Tor访问:", "Congratulations" in driver.page_source)

3. 额外必做检查

  • 升级Tor版本:你用的0.2.9.9是古董级版本,不仅兼容性差,还有安全漏洞,赶紧更到最新稳定版
  • Chrome与WebDriver版本匹配:必须保证ChromeDriver和你的Chrome浏览器版本完全一致,版本不匹配会触发各种诡异问题
  • 防火墙/杀毒软件:检查是否有安全软件拦截了Tor的网络连接,或者阻止了Chrome加载第三方扩展

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:26:27