从python调用osascript

2024-04-24 02:45:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一名初学者程序员,一直在用python编写一些非常简单的脚本,以便为工作流会话自动打开一些应用程序和chrome选项卡。抱歉,如果我的问题很简单,但一直在到处寻找答案,尝试一切,但没有达到只是随机尝试的地步,不知道下一步要去哪里。。。我基本上碰到了一个完整的障碍

我无法工作的一点是调用我在网上找到的一个苹果脚本,以最大限度地利用python中的chrome窗口。如果我直接在终端中粘贴并运行它(我在Mac OS X上),那么我的代码就完全可以正常工作,但是由于某种原因,当我试图使用OS.system或subprocess.call(我认为是更现代的版本)从python中调用同一段代码时,它就不起作用了

在终端中工作的代码如下所示:

osascript -e "tell application \"google chrome\"" -e "activate" -e "tell application \"System Events\"" -e "keystroke \"f\" using {control down, command down}" -e "end tell" -e "end tell"

然而,当在python中按如下方式调用时,它不起作用——并在终端中给出下面的错误

import subprocess

args = ' -e "tell application \"google chrome\"" -e "activate" -e "tell application \"System Events\"" -e "keystroke \"f\" using {control down, command down}" -e "end tell" -e "end tell"'

subprocess.call("osascript" + args, shell=True)
syntax error: Expected end of line but found end of script. (-2741)

非常感谢您的帮助

谢谢


Tags: 代码脚本终端applicationosgooglechromecall