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

Selenium中webdriver.Chrome(ChromeDriverManager().install())报JSONDecodeError求助

问题描述

此前可正常运行的Python Selenium代码,如今调用webdriver.Chrome(ChromeDriverManager().install())时触发json.decoder.JSONDecodeError错误。已尝试卸载并重装webdriver-manager,但问题仍未解决。报错出现在find_driver流程中,具体回溯信息如下:

Traceback (most recent call last):
  File "c:\Users\user\Documents\GitHub\Autobet\test\test_oddsportal.py", line 32, in <module>
    data = test_oddsportal()
  File "c:\Users\user\Documents\GitHub\Autobet\test\test_oddsportal.py", line 27, in test_oddsportal
    df = OddsPortal.get_data(a)
  File "C:\Users\user\Documents\GitHub\Autobet\scraping\oddsportal.py", line 891, in get_data
    driver = OddsPortal.login('ParionsPro', 'fb00296b')
  File "C:\Users\user\Documents\GitHub\Autobet\scraping\oddsportal.py", line 97, in login
  File "C:\Users\user\anaconda3\envs\autobet\lib\site-packages\webdriver_manager\chrome.py", line 39, in install
    driver_path = self._get_driver_path(self.driver)
  File "C:\Users\user\anaconda3\envs\autobet\lib\site-packages\webdriver_manager\core\manager.py", line 26, in _get_driver_path
    binary_path = self.driver_cache.find_driver(driver)
  File "C:\Users\user\anaconda3\envs\autobet\lib\site-packages\webdriver_manager\core\driver_cache.py", line 101, in find_driver
    metadata = self.get_metadata()
  File "C:\Users\user\anaconda3\envs\autobet\lib\site-packages\webdriver_manager\core\driver_cache.py", line 135, in get_metadata
    return json.load(outfile)
  File "C:\Users\user\anaconda3\envs\autobet\lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
  File "C:\Users\user\anaconda3\envs\autobet\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "C:\Users\user\anaconda3\envs\autobet\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\user\anaconda3\envs\autobet\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 14 column 46 (char 638)
解决方案
  • 清理webdriver-manager缓存文件:
    错误源于缓存的metadata.json文件损坏,直接删除该文件即可。Windows系统下文件路径为C:\Users\<你的用户名>\.wdm\metadata.json,删除后重新运行代码,webdriver-manager会自动生成新的合法元数据文件。

  • 指定ChromeDriver版本:
    若清理缓存无效,可直接指定与本地Chrome版本匹配的Driver版本,绕过缓存读取。先在Chrome地址栏输入chrome://version/查看浏览器版本,然后修改代码:

    from selenium import webdriver
    from webdriver_manager.chrome import ChromeDriverManager
    
    # 替换为你的Chrome版本号
    driver = webdriver.Chrome(ChromeDriverManager(version="126.0.6478.127").install())
    
  • 降级webdriver-manager版本:
    新版本可能存在兼容性问题,降级到稳定版本(如3.8.6)尝试:

    pip uninstall webdriver-manager -y
    pip install webdriver-manager==3.8.6
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 23:51:36