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

Python Selenium脚本在Chrome升级至v93版本后无法运行问题求助

修复方案

1. 匹配ChromeDriver与Chrome版本

Chrome大版本更新后,必须使用对应大版本的ChromeDriver才能正常驱动浏览器。你当前Chrome已升级到v93,需要下载对应v93版本的ChromeDriver替换原有驱动文件即可。如果想要避免后续升级浏览器后重复适配,可以使用webdriver-manager库自动管理驱动版本。

2. 补充反检测参数,适配v93版本的浏览器检测机制

Chrome v93对自动化测试工具的识别规则有更新,原有仅添加excludeSwitches的配置不足以绕过检测,需要额外添加禁用自动化标识的启动参数:

# 添加到ChromeOptions配置中
self.options.add_argument("--disable-blink-features=AutomationControlled")
self.options.add_experimental_option("useAutomationExtension", False)

同时你当前请求头里的User-Agent还是Chrome v92的版本,需要更新为和当前v93浏览器匹配的UA值,避免UA与实际浏览器版本不一致导致网站拦截请求。

3. 修复Selenium弃用参数

你当前初始化driver使用的chrome_options参数在Selenium 3.14+版本已经被标记为弃用,替换为options参数即可避免兼容报错:

# 替换原有初始化代码
self.driver = webdriver.Chrome(options=self.options)

4. 完善Cookie添加规则

Chrome v93对Cookie的域、路径校验更严格,添加Cookie时显式指定domain和path可以避免添加失败的问题:

# 替换原有add_cookie代码
cookie_dict = session.cookies.get_dict()
self.driver.add_cookie({'name':'__jsl_clearance_s','value':cookie_dict['__jsl_clearance_s'], 'domain':'.cnvd.org.cn', 'path':'/'})
self.driver.add_cookie({'name':'JSESSIONID','value':cookie_dict['JSESSIONID'], 'domain':'.cnvd.org.cn', 'path':'/'})
self.driver.add_cookie({'name':'__jsluid_s','value':cookie_dict['__jsluid_s'], 'domain':'.cnvd.org.cn', 'path':'/'})

修改后完整可参考代码

import requests
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

session = requests.session()

class CNVD(object):
    def __init__(self):
        self.options=webdriver.ChromeOptions()
        self.options.add_experimental_option("detach", True)
        self.options.add_argument("--disable-blink-features=AutomationControlled")
        self.options.add_experimental_option("useAutomationExtension", False)
        self.options.add_experimental_option("excludeSwitches", ['enable-automation', 'enable-logging'])
        # 自动适配v93版本ChromeDriver,也可以手动指定驱动路径替换该行
        self.driver = webdriver.Chrome(executable_path=ChromeDriverManager(version="93.0.4577.63").install(), options=self.options)
    def login(self):
        headers = {
                    'Host':'www.cnvd.org.cn',
                    # 替换为你本地Chrome v93对应的实际UA值
                    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36',
                    'Accept':'*/*',
                    'Accept-Language':'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
                    'Accept-Encoding':'gzip, deflate',
                    'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
                    'X-Requested-With':'XMLHttpRequest',
                    'Origin':'https://www.cnvd.org.cn',
                    'Referer':'https://www.cnvd.org.cn/user/login'
                    }
        data = 'password=xxxx'
        response = session.post(url="https://www.cnvd.org.cn/user/doLogin/loginForm",data=data,headers=headers)
        response.encoding='utf-8'
        self.driver.get("https://www.cnvd.org.cn")
        cookie_dict = session.cookies.get_dict()
        self.driver.add_cookie({'name':'__jsl_clearance_s','value':cookie_dict['__jsl_clearance_s'], 'domain':'.cnvd.org.cn', 'path':'/'})
        self.driver.add_cookie({'name':'JSESSIONID','value':cookie_dict['JSESSIONID'], 'domain':'.cnvd.org.cn', 'path':'/'})
        self.driver.add_cookie({'name':'__jsluid_s','value':cookie_dict['__jsluid_s'], 'domain':'.cnvd.org.cn', 'path':'/'})
        self.driver.get("https://www.cnvd.org.cn/user/doLogin/loginForm")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:24:03