如何用Selenium在Chrome中执行Ctrl+T快捷键?多种尝试无效求解决
解决Selenium中Chrome执行Ctrl+T快捷键无效的问题
先排查核心原因,再给出有效实现方式:
1. 确保浏览器窗口获得焦点
快捷键失效常因焦点不在浏览器窗口,先激活页面主体元素再执行快捷键:
from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By # 先让页面主体获取焦点 body = driver.find_element(By.TAG_NAME, 'body') body.click() # 执行Ctrl+T打开新标签 ActionChains(driver).key_down(Keys.CONTROL).send_keys('t').key_up(Keys.CONTROL).perform()
2. 修正ActionChains错误写法
你尝试一中的第二行代码未调用perform(),且无需额外发送Enter键,多余操作会干扰执行逻辑,按上方代码单步执行即可。
3. 跨系统兼容处理
如果是Mac系统,需替换为Command+T组合键:
# Mac系统执行Command+T ActionChains(driver).key_down(Keys.COMMAND).send_keys('t').key_up(Keys.COMMAND).perform()
4. 检查版本匹配性
ChromeDriver版本必须与本地Chrome浏览器大版本一致,版本不匹配会导致键盘事件失效。可在Chrome设置中查看浏览器版本,再下载对应版本的ChromeDriver。
备选稳定方案
若快捷键始终无法生效,可改用JavaScript直接打开新标签(更可靠):
driver.execute_script("window.open('about:blank', '_blank');")
内容的提问来源于stack exchange,提问作者thomas kayll
相关产品推荐
相关产品推荐

