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

Selenium执行send_keys(Keys.RETURN)报unexpected command response错误

异常产生原因

这个报错是Chrome 103版本与低版本Selenium、ChromeDriver的已知兼容性问题,和代码本身的逻辑无关。
Chrome 103调整了DevTools协议的命令响应规则:当执行send_keys(Keys.RETURN)触发页面跳转时,上一个输入命令的响应流程会被页面跳转直接打断,驱动无法收到预期的命令返回结果,就会抛出selenium.common.exceptions.WebDriverException: unknown error: unexpected command response异常。所有使用Chrome 103版本、搭配4.3.0以下版本Selenium的环境,执行回车触发跳转的操作时都可能触发这个问题。

解决方法

你可以任选以下一种方案修复:

  • 临时缓冲规避:在输入搜索词和触发回车的操作之间加0.3-1秒的短等待,给驱动留出足够的响应接收时间,不需要修改现有依赖版本就能跑通。
  • 升级依赖根治:将Selenium库升级到4.3.0及以上版本,同时下载和Chrome 103版本完全匹配的ChromeDriver替换本地旧版驱动,官方已经在新版本中适配了Chrome 103的协议调整,升级后不需要额外加等待就能正常运行。
  • 改交互逻辑绕开:不使用Keys.RETURN提交搜索,定位页面上的搜索提交按钮,调用按钮的.click()方法提交表单,也能避开send_keys触发跳转带来的响应中断问题。
修正后可运行代码示例
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time

# 路径前加r标记原生字符串,避免反斜杠被识别为转义字符
service = Service(r"C:\Program Files (x86)\chromedriver.exe")
driver = webdriver.Chrome(service=service)

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

search = driver.find_element(By.NAME, 's')
search.send_keys("test")
# 加短等待规避兼容问题
time.sleep(0.5)
search.send_keys(Keys.RETURN)

# 预留页面加载时间,可根据自己的需求调整
time.sleep(3)
driver.quit()

内容的提问来源于stack exchange,提问作者Han Tang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:36:51