运行Python Selenium脚本报错:selenium.webdriver无get属性且Chrome打开空白页
报错原因及修复方案
核心错误点
- 导入别名和调用名称不匹配:你代码第一行已经将
webdriver别名为wd,但后续仍直接调用webdriver.Chrome(),未被直接导入的webdriver属于无效调用,导致初始化得到的driver不是正常的驱动实例,后续调用get方法自然触发属性不存在报错 - 重复初始化
driver实例:你先后两次给driver赋值,第一次用ChromeDriverManager初始化的有效实例会被第二次无效初始化的结果覆盖 - 部分旧版本写法不兼容:如果使用selenium 4.0+版本,
Chrome初始化需要传入Service对象包裹驱动路径,旧的直接传路径的写法已经废弃
修复代码
方案1:兼容所有selenium版本(搭配webdriver_manager使用)
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service # 统一调用路径,不重复初始化 driver = webdriver.Chrome(service=Service(ChromeDriverManager().install())) driver.implicitly_wait(5) driver.get("https://www.facebook.com")
方案2:selenium 4.6+版本简化写法(无需安装webdriver_manager)
selenium 4.6及以上版本已内置自动驱动管理功能,不需要额外引入webdriver_manager即可自动匹配对应Chrome版本的驱动:
from selenium import webdriver driver = webdriver.Chrome() driver.implicitly_wait(5) driver.get("https://www.facebook.com")
额外排查步骤
如果修改代码后仍有报错,可按以下顺序排查:
- 执行
pip show selenium查看当前selenium版本,版本低于4.6优先用方案1 - 执行
pip uninstall selenium -y && pip install selenium -U升级到最新稳定版后使用方案2 - 检查本地Chrome浏览器版本是否为官方正式版,测试版、开发版可能出现驱动匹配失败问题
内容的提问来源于stack exchange,提问作者littlebigship
相关产品推荐
相关产品推荐

