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

如何用Python Selenium实现Ubuntu终端打开及命令自动化运行

需求实现方案

你的两个需求完全可以通过自动化方式实现,具体实现方法、代码及替代方案如下:

1. 触发Ctrl+Alt+T快捷键打开Linux终端

该需求可以通过Python的pynput库实现全局键鼠控制,比调用Selenium更轻量高效。

前置依赖安装

pip install pynput

实现代码

from pynput.keyboard import Key, Controller
import time

keyboard = Controller()

# 触发 Ctrl+Alt+T 组合键
with keyboard.pressed(Key.ctrl):
    with keyboard.pressed(Key.alt):
        keyboard.press('t')
        keyboard.release('t')

# 等待终端完全启动,可根据设备性能调整等待时长
time.sleep(1)

2. 运行终端命令的实现方案

关于Selenium的说明

Selenium是专门用于Web浏览器自动化的工具,本身不具备执行本地终端命令的能力。如果需要在Selenium的浏览器自动化流程中穿插执行终端命令,搭配Python内置的subprocess库即可实现,不需要依赖Selenium的相关功能。

后台执行终端命令代码(推荐,更稳定)

无需打开可视化终端,直接后台执行命令并获取输出:

import subprocess

# 示例:执行 ls -l 命令查看当前目录文件
exec_result = subprocess.run(
    ["ls", "-l"],
    capture_output=True,
    text=True
)

# 打印命令输出
print("命令执行标准输出:")
print(exec_result.stdout)
# 打印错误信息(如果有)
if exec_result.stderr:
    print("命令执行错误输出:")
    print(exec_result.stderr)

在前一步打开的可视化终端中输入命令执行的代码

如果需要模拟人工在打开的终端中输入命令的效果,可以继续用pynput实现:

# 接前面打开终端的代码,终端启动完成后输入命令
keyboard.type("ls -l")
# 按下回车键执行命令
keyboard.press(Key.enter)
keyboard.release(Key.enter)

替代方案推荐

  • 如果你只需要做系统级自动化(终端操作、快捷键触发、GUI控制等),完全不需要使用Selenium,pynput+subprocess的组合已经可以覆盖绝大多数需求,依赖更少运行效率更高
  • 如果需要做批量终端任务调度、远程服务器命令执行,可以用fabric库实现,比模拟手动输入的稳定性更高
  • 只有当你的自动化流程中包含浏览器操作的需求时,才需要搭配Selenium使用

注意事项

  • 运行pynput相关的键鼠控制代码时,避免同时手动操作键鼠,防止执行逻辑冲突
  • 用subprocess执行命令时优先用列表格式传递参数(如["ls", "-l"]),避免空格、特殊字符导致的命令解析错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:54:02