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

Selenium Firefox(Python3.6+MacBook):除send_keys外打开新标签页的方法

解决Mac上Selenium操作Firefox时COMMAND组合键失效的问题

我之前在Mac环境下用Selenium操作Firefox时,也碰到过一模一样的情况——单个方向键(比如Keys.DOWN)能正常工作,但Cmd+T这类COMMAND组合键就是没反应。给你几个亲测有效的解决办法:

方法一:用JavaScript直接打开新标签页(最稳定)

绕开键盘模拟的坑,直接通过JS调用浏览器的窗口API,这个方法几乎不受浏览器配置或驱动版本的影响:

# 打开空白新标签页
driver.execute_script("window.open('about:blank', '_blank');")
# 切换到新打开的标签页(如果需要操作新标签内容的话)
driver.switch_to.window(driver.window_handles[-1])

如果要直接打开指定URL的新标签,把代码改成这样:

driver.execute_script("window.open('https://your-target-url.com', '_blank');")
driver.switch_to.window(driver.window_handles[-1])

方法二:用ActionChains分步模拟按键操作

有时候直接用send_keys(Keys.COMMAND + "t")会因为按键状态未正确触发而失效,改用ActionChains分步模拟按下、输入、释放的过程,更贴近真实人工操作,能解决不少识别问题:

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

# 初始化动作链
action = ActionChains(driver)
# 模拟按下COMMAND键→输入t→释放COMMAND键的完整流程
action.key_down(Keys.COMMAND).send_keys('t').key_up(Keys.COMMAND).perform()

方法三:检查版本兼容性

如果上面两种方法都没用,大概率是Firefox浏览器和geckodriver驱动的版本不匹配导致的键盘事件异常。建议:

  • 确认你的geckodriver是对应Firefox版本的最新稳定版
  • 尽量保持Firefox和geckodriver的版本同步更新

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:45:32