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

Selenium执行maximize_window()报WebDriverException异常

问题原因

你碰到的unknown error: unexpected command response是Chrome 103版本的已知兼容bug,和访问的目标站点没有关系。本质是Chrome 103和对应版本ChromeDriver的通信逻辑有缺陷,在页面刚加载完成的节点调用窗口控制接口(最大化、调整尺寸等)时,会出现指令响应解析失败的问题。
另外你贴的代码本身还有个漏写的问题:没有导入time模块,直接调用time.sleep(5)会触发NameError,只是当前异常先在最大化窗口那行抛出,没走到这步而已。

解决方案

按优先级依次尝试即可:

  • 升级依赖版本:直接把Selenium升级到4.3.0及以上版本,同时把ChromeDriver替换成和本地Chrome大版本匹配的最新版,这个通信兼容问题在Selenium 4.3.0版本已经做了官方修复,是最彻底的解决方式。
  • 调整代码执行顺序:如果暂时不能升级版本,把maximize_window()的调用移到页面访问操作之前,避开页面加载后的通信冲突窗口,修改后的可运行代码参考:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time # 补全缺失的模块导入

chrome_path = r"C:\Users\hpoddar\Desktop\Tools\chromedriver_win32\chromedriver.exe"
s = Service(chrome_path)
url = 'https://www.techwithtim.net/'
driver = webdriver.Chrome(service=s)
# 先完成窗口最大化,再加载目标页面
driver.maximize_window()
driver.get(url)
time.sleep(5)
search=driver.find_element(by=By.CLASS_NAME, value="search-field")
  • 启动参数兜底:如果前两种方式都不生效,可以直接通过Chrome启动参数实现启动即最大化,完全绕过运行时发送窗口控制指令的逻辑,不需要再单独调用maximize_window():
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("--start-maximized")
# 初始化驱动时传入配置
driver = webdriver.Chrome(service=s, options=chrome_options)
  • 版本校验:最后确认你本地使用的ChromeDriver大版本和安装的Chrome浏览器大版本完全一致,你报错里的Chrome版本是103.0.5060.66,必须对应使用103版本的ChromeDriver,版本不匹配会大幅提升这类通信异常的出现概率。

内容的提问来源于stack exchange,提问作者Himanshu Poddar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 01:27:27