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

Selenium(Java)在Chrome中按下Ctrl+T无法打开新标签的原因排查

问题原因及解决方法

核心问题分析

你代码里用Keys.CONTROL + "t"的写法存在逻辑错误:Keys.CONTROL是Selenium的按键枚举值,直接和字符串拼接会导致组合键指令无法被正确识别,所以浏览器没触发新标签页的打开。此外还有两个潜在影响因素:

  • Chrome浏览器与ChromeDriver版本不匹配,导致按键交互逻辑失效
  • 当前页面元素抢占了焦点,组合键指令没被浏览器窗口接收

修正方案

方案1:使用标准的组合键模拟语法

通过keyDown和keyUp方法,准确模拟按住Ctrl键再按T的操作,这是Selenium模拟组合键的规范写法:

Actions a = new Actions(chromedriver);
// 按住Ctrl键 → 按下T键 → 松开Ctrl键
a.keyDown(Keys.CONTROL)
  .sendKeys("t")
  .keyUp(Keys.CONTROL)
  .build()
  .perform();

方案2:用JavaScript直接打开新标签页(更稳定)

如果组合键方式仍有问题,直接执行JavaScript是更可靠的替代方案,不受焦点或按键模拟限制:

((JavascriptExecutor) chromedriver).executeScript("window.open('about:blank','_blank');");

额外注意事项

  • 确保Chrome浏览器和ChromeDriver版本完全匹配,版本不兼容会引发各类交互异常
  • 执行按键操作前,可通过chromedriver.switchTo().window(chromedriver.getWindowHandle());确保浏览器窗口获取焦点

内容的提问来源于stack exchange,提问作者Tejveer naruka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 13:01:08