运行Selenium Python代码提示TypeError: 'module' object is not callable
报错原因
- 核心触发点为代码中调用了小写的
webdriver.chrome,该对象是Selenium内置的模块,并非可实例化的类,直接当做构造函数调用就会抛出「'module' object is not callable」类型错误。 - 代码还存在3个潜在会触发后续报错的问题:
driver.get()传入的地址缺少协议头,必须补全https://前缀才能正常访问- 路径字符串直接使用单反斜杠
\会被Python识别为转义符,可能导致驱动路径读取失败 - Selenium 4.0及以上版本已经弃用
executable_path直接传参的方式,继续使用会触发弃用警告甚至报错
解决方法
替换为以下可正常运行的代码即可:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.keys import Keys # 用Service类指定驱动路径,原始字符串避免转义问题 s = Service(executable_path=r"C:\Driver\chromedriver_win32\chromedriver.exe") # 注意Chrome首字母大写 driver = webdriver.Chrome(service=s) # 补全协议头 driver.get("https://www.youtube.com") print(driver.title) driver.close()
如果使用的是Selenium 4.6及以上版本,还可以省略手动指定chromedriver路径,Selenium内置的Driver Manager会自动匹配对应浏览器版本的驱动,简化代码如下:
from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() driver.get("https://www.youtube.com") print(driver.title) driver.close()
内容的提问来源于stack exchange,提问作者Keshab Mohapatra
相关产品推荐
相关产品推荐

