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

Python Selenium执行send_keys回车操作报加载状态未知错误

问题原因

你遇到的报错由3个问题共同导致:

  • 缺失必要模块导入:代码中使用了WebDriverWait和expected_conditions(即代码里简写的EC),但没有写对应导入语句,即使解决了当前报错,后续代码也会因NameError无法运行
  • 版本兼容bug:报错信息里显示你的Chrome版本是103.0.5060.53,这个版本的Chrome和4.2.0及更早版本的Selenium存在已知通信问题,按下回车触发页面跳转时,Selenium无法正确接收页面加载状态响应,就会抛出你看到的unexpected command response错误
  • 路径转义风险:你写的驱动路径"C:\chromedriver.exe"在Python普通字符串中存在转义符解析风险,可能导致程序找不到chromedriver文件
修复步骤
  1. 先升级本地Selenium版本到最新版,解决Chrome 103的兼容问题,在终端执行以下命令:
pip install --upgrade selenium
  1. 补全导入语句、修正路径写法、调整异常块逻辑,替换为以下可正常运行的代码:
from selenium import webdriver    
from selenium.webdriver.chrome.service import Service    
from selenium.webdriver.common.by import By    
from selenium.webdriver.common.keys import Keys
# 补全缺失的两个导入
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 路径前加r标记为原始字符串,避免转义问题
serv_obj = Service(r"C:\chromedriver.exe")    
driver = webdriver.Chrome(service=serv_obj)

try:
    driver.get("https://techwithtim.net")    
    print(driver.title)    

    search = driver.find_element(By.NAME, "s")    
    search.send_keys("test")    
    search.send_keys(Keys.RETURN)
    
    main = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "main")))
    print(main.text)
finally:
    # 无论代码运行成功还是报错,最后都关闭浏览器,不要只在异常时退出
    driver.quit()

补充说明:如果你升级Selenium之后还是遇到同类报错,可以直接把search.send_keys(Keys.RETURN)替换为search.submit(),用表单提交的方式代替模拟按回车,也能绕过这个版本兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:54:21