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

Python Selenium出现AttributeError: 'NoneType'无get属性问题求助

Selenium AttributeError 问题排查与解决

错误核心原因

你遇到的AttributeError: 'NoneType' object has no attribute 'get',本质是调用.get()方法的browser实例根本没初始化成功,变成了None值。

具体排查方向及解决方法

1. EdgeDriver与浏览器版本不匹配

即使都是最新版,也可能出现浏览器自动更新后,Driver版本没同步的情况:

  • 打开Edge,点击右上角三个点→设置→关于Microsoft Edge,查看精确版本号
  • 下载完全对应版本的EdgeDriver,替换掉当前使用的Driver文件

2. Driver路径配置错误

初始化时没正确指定Driver路径,导致webdriver无法启动浏览器:

  • 初始化代码显式指定Driver路径,示例:
from selenium import webdriver
from selenium.webdriver.edge.service import Service

# 替换成你的EdgeDriver实际路径
service = Service(executable_path=r"C:\Users\你的用户名\Downloads\msedgedriver.exe")
browser = webdriver.Edge(service=service)
# 先判空再操作
if browser:
    browser.get("https://www.example.com")

3. 初始化逻辑有漏洞

比如browser变量只在某个条件分支里赋值,分支没触发就会变成None:

  • 检查代码,确保不管什么分支,browser都能被正确初始化;或者在使用前强制判空

4. 权限不足

脚本没有权限启动浏览器进程:

  • 右键点击脚本,选择「以管理员身份运行」试试;或者检查Edge安装目录的读写权限

预防类似属性错误的通用方案

  • 每次操作前判空:调用browser的任何方法前,先加if browser is not None:判断
  • 用显式等待代替固定延迟:比time.sleep()更可靠,精准等待页面元素或状态加载完成,示例:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 等待页面目标元素出现,最长等10秒
WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.ID, "target-element-id"))
)
  • 完善异常处理:把初始化、页面操作都纳入try-except,同时finally块里确保浏览器能正常退出,示例:
browser = None
try:
    service = Service(executable_path=r"你的Driver路径")
    browser = webdriver.Edge(service=service)
    browser.get("https://example.com")
    # 其他操作...
except Exception as e:
    print(f"出错了: {str(e)}")
finally:
    if browser is not None:
        browser.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:00:02