Chrome 105点击元素后触发TimeoutException报错求助
解决Chrome 105中Selenium点击成功但抛出渲染器超时的问题
可行解决方案:
1. 匹配ChromeDriver与Chrome版本
Chrome 105.0.5195.102必须搭配ChromeDriver 105.0.5195.52(官方对应版本),版本不匹配是触发渲染器通信超时的高频原因,若当前版本不符请立即替换。
2. 添加渲染进程优化参数
在现有ChromeOptions中追加以下参数,降低渲染器进程压力:
chromeOptions.addArguments("--disable-features=VizDisplayCompositor"); chromeOptions.addArguments("--disable-ipc-flooding-protection"); chromeOptions.addArguments("--enable-features=NetworkService,NetworkServiceInProcess");
这些参数可减少渲染器资源占用与IPC通信负载,避免超时触发。
3. 用JavascriptExecutor替代原生点击
原生element.click()会等待页面渲染反馈,JS点击更轻量化,完成操作后不会因页面未完全渲染触发超时:
WebElement targetElement = driver.findElement(By.id("your-element-id")); JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("arguments[0].click();", targetElement);
4. 调整驱动超时配置
初始化WebDriver后修改默认超时参数,避免过长等待渲染器响应:
driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS); driver.manage().timeouts().setScriptTimeout(60, TimeUnit.SECONDS);
注:搭配PageLoadStrategy.EAGER时,pageLoadTimeout不宜设置过长,减少无意义等待。
5. 禁用无关后台进程
在现有参数基础上添加:
chromeOptions.addArguments("--disable-background-networking"); chromeOptions.addArguments("--disable-background-timer-throttling"); chromeOptions.addArguments("--disable-backgrounding-occluded-windows");
关闭后台无关进程,释放资源给核心渲染任务。
6. 检查系统资源
若测试环境CPU、内存不足,会导致Chrome渲染器响应迟缓。确保环境有足够资源,必要时关闭其他占用资源的进程。
内容的提问来源于stack exchange,提问作者Automation developer
相关产品推荐
相关产品推荐

