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

如何用Python+Selenium实现Chrome快捷键自动化?多种方法尝试未果

解决Selenium WebDriver模拟Chrome快捷键(Ctrl+T、Ctrl+Tab)的问题

我之前也踩过这个坑!想用Selenium直接模拟Ctrl+T新建标签页、Ctrl+Tab切换标签页,但试了各种ActionChains和send_keys的写法都没效果,尤其是不想用switch_to.window()的情况下。下面分享两个亲测有效的方案,帮你搞定这个问题:

方案一:修正ActionChains的使用姿势

之前的方法无效,大概率是因为浏览器窗口没获得焦点或者页面元素没被激活。试试下面的步骤:

  1. 先最大化浏览器窗口,确保它处于前台
  2. 点击页面的body元素,让焦点落在页面上
  3. 再用ActionChains执行快捷键操作

示例代码:

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

driver = webdriver.Chrome()
driver.get("https://www.example.com")

# 最大化窗口,确保浏览器在前台
driver.maximize_window()
# 点击body获取页面焦点
driver.find_element_by_tag_name('body').click()

# 新建标签页:Ctrl+T
ActionChains(driver)\
    .key_down(Keys.CONTROL)\
    .send_keys('t')\
    .key_up(Keys.CONTROL)\
    .perform()

# 切换到下一个标签页:Ctrl+Tab
ActionChains(driver)\
    .key_down(Keys.CONTROL)\
    .send_keys(Keys.TAB)\
    .key_up(Keys.CONTROL)\
    .perform()

# 切换到上一个标签页:Ctrl+Shift+Tab
ActionChains(driver)\
    .key_down(Keys.CONTROL)\
    .key_down(Keys.SHIFT)\
    .send_keys(Keys.TAB)\
    .key_up(Keys.SHIFT)\
    .key_up(Keys.CONTROL)\
    .perform()

方案二:用PyAutoGUI模拟系统级键盘操作

如果Selenium自带的方法还是不行,试试PyAutoGUI——它直接模拟系统层面的键盘输入,不受Selenium元素焦点的限制,稳定性更高。

步骤:

  1. 安装PyAutoGUI:pip install pyautogui
  2. 确保浏览器窗口处于前台(可以用driver.maximize_window()辅助)
  3. 用PyAutoGUI的hotkey()方法执行快捷键

示例代码:

import pyautogui
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.example.com")
driver.maximize_window()

# 新建标签页
pyautogui.hotkey('ctrl', 't')
# 切换到下一个标签页
pyautogui.hotkey('ctrl', 'tab')
# 切换到上一个标签页
pyautogui.hotkey('ctrl', 'shift', 'tab')

注意事项

  • PyAutoGUI运行时,浏览器窗口不能被最小化,否则快捷键会发送到当前活动的其他窗口
  • Linux系统需要额外安装依赖:sudo apt-get install python3-xlib
  • 如果是Mac系统,把ctrl换成command即可,比如pyautogui.hotkey('command', 't')

为什么之前的方法无效?

大部分情况下,问题出在焦点不在浏览器窗口或页面元素上。Selenium的send_keys()和ActionChains都是针对当前选中的元素发送事件,如果浏览器被其他窗口遮挡,或者页面元素没被激活,快捷键就不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:00:20