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

使用nodriver 0.37时遇'NoneType'无'closed'属性错误求助

解决nodriver 0.37版本启动时的AttributeError问题

环境与安装步骤

  • Python版本:3.11
  • nodriver版本:0.37
  • 安装操作:
python3.11 -m venv venv
source venv/bin/activate
pip install nodriver

测试代码

import nodriver as uc

async def main():
    browser = await uc.start()
    page = await browser.get('https://www.nowsecure.nl')

if __name__ == '__main__':
    uc.loop().run_until_complete(main())

报错信息

python main.py      
Traceback (most recent call last):
  File "/Users/mascai/root_folder/dev/projects/54_nodriver/main.py", line 11, in <module>
    uc.loop().run_until_complete(main())
  File "/opt/homebrew/Cellar/python@3.11/3.11.9_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/Users/mascai/root_folder/dev/projects/54_nodriver/main.py", line 5, in main
    browser = await uc.start()
              ^^^^^^^^^^^^^^^^
  File "/Users/mascai/root_folder/dev/projects/54_nodriver/venv/lib/python3.11/site-packages/nodriver/core/util.py", line 96, in start
    return await Browser.create(config)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mascai/root_folder/dev/projects/54_nodriver/venv/lib/python3.11/site-packages/nodriver/core/browser.py", line 91, in create
    await instance.start()
  File "/Users/mascai/root_folder/dev/projects/54_nodriver/venv/lib/python3.11/site-packages/nodriver/core/browser.py", line 394, in start
    await self.connection.send(cdp.target.set_discover_targets(discover=True))
  File "/Users/mascai/root_folder/dev/projects/54_nodriver/venv/lib/python3.11/site-packages/nodriver/core/connection.py", line 412, in send
    if not self.websocket or self.closed:
                             ^^^^^^^^^^^
  File "/Users/mascai/root_folder/dev/projects/54_nodriver/venv/lib/python3.11/site-packages/nodriver/core/connection.py", line 368, in __getattr__
    return getattr(self.target, item)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'closed'
successfully removed temp profile /var/folders/t6/7jk0v3817zb2_xfb6bf0vxpc0000gn/T/uc_tedc5epz

解决建议

  1. 指定浏览器路径:手动指定Chrome/Chromium的可执行文件路径,避免自动查找失败:
browser = await uc.start(browser_path="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")

(根据你的系统实际安装路径调整)

  1. 调整nodriver版本:0.37版本可能存在兼容性bug,尝试降级到0.36版本:
pip install nodriver==0.36

或者直接升级到最新稳定版:

pip install --upgrade nodriver
  1. 检查浏览器版本兼容性:确保本地Chrome/Chromium版本在114以上,可通过终端执行google-chrome --version(macOS/Linux)查看版本号,版本过低则升级浏览器。

  2. 禁用沙箱模式:添加no_sandbox=True参数启动浏览器:

browser = await uc.start(no_sandbox=True)
  1. 替换异步循环方式:改用标准asyncio的启动方式,替代nodriver自带的loop:
import asyncio
import nodriver as uc

async def main():
    browser = await uc.start()
    page = await browser.get('https://www.nowsecure.nl')

if __name__ == '__main__':
    asyncio.run(main())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 10:23:29