Selenium中driver.quit()与driver.close()调用后二次执行报错问题
问题分析与解决
错误原因
你当前代码的核心问题:
driver = webdriver.Chrome("chromedriver.exe")放在循环外部,第一次执行driver.quit()后,这个driver对应的浏览器会话已完全终止、资源被释放。- 第二次输入后,你仍用这个失效的driver对象执行操作,必然触发连接拒绝的错误。
- 额外提醒:
driver.quit()已经会关闭所有浏览器窗口并终止会话,后面的driver.close()完全多余,甚至会在quit后引发额外错误。
修正后的代码
from selenium import webdriver def login(driver): driver.get("替换成你的目标URL") while True: input() # 每次输入后重新创建浏览器实例 driver = webdriver.Chrome("chromedriver.exe") login(driver) # 执行完成后关闭浏览器并终止会话 driver.quit()
关键调整说明
- 把浏览器实例创建(
webdriver.Chrome)放到while循环内部,确保每次输入后启动全新的浏览器会话。 - 修改
login函数,将driver作为参数传入,避免依赖全局driver对象。 - 移除多余的
driver.close(),仅保留driver.quit()完成会话清理。
内容的提问来源于stack exchange,提问作者Deprool
相关产品推荐
相关产品推荐

