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

使用undetected-chromedriver重连coinsniper.net遭拦截,求解决建议

问题描述

使用undetected-chromedriver保存会话重连coinsniper.net网站时,被站点拦截,求解决办法。

原代码

import undetected_chromedriver as uc
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService    
from selenium_stealth import stealth
import time
import os

path_to_dir = r'{}\User'.format(os.getcwd())
path_to_driver = os.path.abspath('chromedriver.exe')

options = uc.ChromeOptions()

driver = uc.Chrome(options=options, executable_path=path_to_driver, use_subprocess=True, service=ChromeService(ChromeDriverManager().install()), user_data_dir = path_to_dir)

driver.execute_cdp_cmd('Network.setUserAgentOverride', {
    "userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36'})

stealth(driver,
        languages=["en-US", "en"],
        vendor="Google Inc.",
        platform="Win64",
        webgl_vendor="Intel Inc.",
        renderer="Intel Iris OpenGL Engine",
        fix_hairline=True)

driver.maximize_window()

driver.get("https://coinsniper.net")
time.sleep(10)
driver.get("https://coinsniper.net")
解决建议
  • 修复驱动初始化冲突:原代码同时指定executable_path和service参数会导致驱动加载异常,直接移除executable_path,依赖ChromeDriverManager自动匹配本地Chrome版本的驱动。
  • 正确配置用户数据目录:通过ChromeOptions添加user-data-dir参数,而非直接在driver初始化时传递;选择固定路径存储会话数据(比如系统用户目录下的专属文件夹),确保目录有读写权限,避免程序路径变动导致会话失效。
  • 移除手动User-Agent设置:undetected-chromedriver会自动生成匹配当前Chrome版本的真实User-Agent,手动设置旧版本UA反而会触发反爬检测。
  • 优化stealth参数:打开本地Chrome的chrome://gpu页面,查看真实的WebGL供应商和渲染器信息,替换代码中的通用参数,让浏览器指纹更贴近真实环境。
  • 模拟自然操作:短时间重复调用driver.get过于机械,换成driver.refresh()刷新页面;增加随机延迟(而非固定10秒),降低频率触发检测的概率。
  • 保证会话完整保存:每次操作结束后调用driver.quit()正常关闭浏览器,确保会话数据完整写入用户目录,避免强制关闭导致会话损坏。

修改后的示例代码

import undetected_chromedriver as uc
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService    
from selenium_stealth import stealth
import time
import os
import random

# 用固定路径存储会话数据,避免路径变动
path_to_dir = os.path.join(os.path.expanduser("~"), "Chrome_Coinsniper_Session")
os.makedirs(path_to_dir, exist_ok=True)

options = uc.ChromeOptions()
options.add_argument(f"user-data-dir={path_to_dir}")
options.add_argument("--start-maximized")
options.add_argument("--disable-blink-features=AutomationControlled")

# 仅通过Service管理驱动,避免冲突
driver = uc.Chrome(
    options=options,
    use_subprocess=True,
    service=ChromeService(ChromeDriverManager().install())
)

# 替换为本地Chrome真实GPU参数(从chrome://gpu获取)
stealth(driver,
        languages=["en-US", "en"],
        vendor="Google Inc.",
        platform="Win64",
        webgl_vendor="NVIDIA Corporation",
        renderer="NVIDIA GeForce GTX 1650/PCIe/SSE2",
        fix_hairline=True)

driver.get("https://coinsniper.net")
# 随机延迟,模拟真实浏览
time.sleep(random.randint(8, 15))
# 用刷新替代重复get请求
driver.refresh()
time.sleep(random.randint(5, 10))
# 正常退出,保存会话
driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 22:05:12