PyCharm中安装Selenium后运行测试报'module'对象不可调用错误
问题排查与解决方法
当前报错的直接诱因
报错TypeError: 'module' object is not callable是因为代码调用方式完全错误:
webdriver模块下的小写chrome是存放Chrome驱动相关逻辑的子模块,本身不具备可调用的初始化功能;真正用来创建浏览器实例的类是首字母大写的webdriver.Chrome,你写的webdriver.chrome()相当于直接去调用一个Python模块,自然会抛出类型错误。
配套需要修正的配置隐患
你当前的项目结构还有两个容易触发后续报错的问题,建议一并调整,避免反复踩坑:
- 不要手动把下载的selenium源码包复制进项目文件夹,直接在项目关联的虚拟环境内执行
pip install selenium安装官方发布的正式版本即可,手动拷贝源码很容易出现版本不兼容、导入路径错乱的问题。 - 你的项目根目录直接和第三方包
selenium重名,会打乱Python的导入搜索优先级,容易出现本该导入官方依赖包、却错把本地项目文件夹当包导入的冲突,后续可以把项目名改成其他非同名标识,比如selenium_practice。
修正后可正常运行的测试代码
完成前面的调整后,因为你已经把chromedriver放在项目根目录下,只需要在初始化浏览器时指定驱动的实际路径即可,不需要额外配置系统全局环境变量:
from selenium import webdriver # 替换为你本地chromedriver的实际绝对路径 chromedriver_path = "/Users/andres/PycharmProjects/selenium/chromedriver" browser = webdriver.Chrome(executable_path=chromedriver_path) browser.get("http://seleniumhq.org/")
如果你安装的是4.6及以上版本的Selenium,框架会自动匹配当前Chrome的版本下载对应驱动,这种场景下甚至不需要手动放置chromedriver,直接调用
webdriver.Chrome()就能正常运行。
内容的提问来源于stack exchange,提问作者Gustavo BC
相关产品推荐
相关产品推荐

