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

AttributeError求助:selenium.webdriver.chrome无get属性

问题排查与修复

错误根源

报错AttributeError: type object 'Chrome' has no attribute 'get'的核心原因是未实例化Chrome驱动对象。在你的setup fixture(或驱动初始化代码)中,仅引用了webdriver.Chrome类本身,没有调用构造函数生成可操作的实例——类本身不具备get这类驱动方法,只有实例化后的对象才拥有这些功能。

具体修复步骤

  1. 修正驱动实例化代码
    找到你的setup代码段,确保实例化Chrome驱动时添加括号:

    def setup(self):
        # 正确写法:加括号调用构造函数生成驱动实例
        self.driver = webdriver.Chrome()
        self.baseURL = "https://admin-demo.nopcommerce.com/login?ReturnUrl=%2Fadmin%2F"
        # 可补充其他初始化逻辑,如设置隐式等待
    

    若使用Pytest fixture,需确保fixture返回实例化后的driver对象:

    import pytest
    from selenium import webdriver
    
    @pytest.fixture()
    def setup():
        driver = webdriver.Chrome()  # 实例化驱动
        yield driver
        driver.quit()  # 测试结束后统一关闭驱动
    
  2. 验证参数传递逻辑
    你的测试方法已接收setup参数,只需确保该参数传递的是实例化后的driver对象,而非驱动类。当前测试方法里self.driver = setup的逻辑是正确的,只要setup返回实例,就能拿到可操作的驱动对象。

额外优化建议

  • 简化断言逻辑:无需用if-else分支判断,直接使用断言语句,失败时会自动输出清晰的错误信息:
    def test_homePageTitle(self, setup):
        self.driver = setup
        self.driver.get(self.baseURL)
        act_title = self.driver.title
        self.driver.close()
        # 直接断言,去掉冗余分支
        assert act_title == "Your store.Login"
    
  • 统一关闭浏览器:建议在teardown(或Pytest fixture的yield后)统一处理浏览器关闭,避免每个测试方法重复编写关闭代码,提升代码复用性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:45:33