Selenium打开Chrome浏览器后无报错却无法执行后续代码如何解决?
问题根源
你调用webdriver.Chrome()时传入的executable_path参数错误,该参数需要传入ChromeDriver驱动程序的路径,而非Chrome浏览器本体的执行路径。
Selenium启动浏览器的流程是:先调用ChromeDriver驱动,再由驱动拉起Chrome浏览器并和Selenium核心通信。你直接传入浏览器本体的路径后,Selenium会一直等待目标程序返回驱动通信响应,而浏览器本身不具备驱动的通信能力,因此进程会无限挂起,不会执行后续代码也不会抛出报错。
修复步骤
- 先确认本地安装的Chrome浏览器版本:打开Chrome → 右上角菜单 → 帮助 → 关于Google Chrome,即可查看完整版本号,需保证ChromeDriver版本和浏览器大版本完全匹配
- 下载对应版本的ChromeDriver压缩包,解压后得到
chromedriver.exe文件 - 修改代码中的初始化逻辑,两种可选写法:
- 手动指定ChromeDriver路径(注意Windows路径需要转义或者用原始字符串):
import selenium from selenium import webdriver from selenium.webdriver.common.keys import Keys # 这里传入chromedriver.exe的路径,不是chrome.exe的路径 browser = webdriver.Chrome(executable_path = r"C:\存放路径\chromedriver.exe") print ("done") # Open YouTube website browser.get("https://www.youtube.com/")
- 如果你使用的是Selenium 4.6及以上版本,无需手动下载ChromeDriver也不需要指定路径,Selenium自带的管理器会自动匹配对应版本的驱动,直接写即可:
import selenium from selenium import webdriver from selenium.webdriver.common.keys import Keys browser = webdriver.Chrome() print ("done") browser.get("https://www.youtube.com/")
内容的提问来源于stack exchange,提问作者Nguyen Tran
相关产品推荐
相关产品推荐

