你们知道如何使用Applescript激活第n个Google Chrome窗口吗?例如,如果我打开了三个Google Chrome窗口,那么如何激活第二个?
我尝试了很多不同的组合,例如:告诉窗口2的标签3激活
我也注意到了:
告诉应用程序"Google Chrome"告诉窗口1激活结束告诉
和,
告诉应用程序"Google Chrome"告诉窗口2激活结束告诉
产生相同的结果,它只激活最后一个窗口打开,这是一个错误吗?
提前致谢 :)
我正在尝试为名为F.lux的应用程序制作一个应用程序,点击菜单项"禁用一小时",如下面的屏幕截图所示:

元素路径如下面的屏幕截图所示:

这是我到目前为止的代码:
tell application "System Events"
tell process "Flux"
click (menu bar item 1 of menu bar 2)
click menu item "Disable for an hour" of menu 1 of menu bar item 1 of
menu bar 2
end tell
end tell
Run Code Online (Sandbox Code Playgroud)
一切都编译好,但是当我尝试运行脚本时,我不断收到以下错误消息:
错误"系统事件出错:无法获取进程\"Flux \"菜单栏2的菜单栏项目1的菜单1.索引无效." 从流程"Flux"的菜单栏2的菜单栏项目1的菜单1开始编号-1719
有人可以确定我在哪里出错吗?
我在用
osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"'
Run Code Online (Sandbox Code Playgroud)
在Mac中显示通知.但是,在单击通知时,我将被重定向到applescript编辑器.我是否可以将用户重定向到URL或单击生成的通知时打开目录?
我很懒,所以我想编写一个shell脚本来打开我的开发环境.我设置了两个命令dev和dev-startup.当我运行dev /directory/path它应该打开一个新的终端窗口/directory/path并执行dev-startup.
我不确定如何在特定目录中打开终端窗口,然后运行最终命令来运行我需要设置环境的工具.
我正在运行OSX,所以AppleScript可能就是答案吗?
我试图在Apple脚本中嵌入AppleScript.我不想将AppleScript保存为文件,然后将其加载到我的Python脚本中.有没有办法在Apple中将AppleScript作为字符串输入并让Python执行AppleScript?谢谢一堆.
这是我的脚本:import subprocess import re import os
def get_window_title():
cmd = """osascript<<END
tell application "System Events"
set frontApp to name of first application process whose frontmost is true
end tell
tell application frontApp
if the (count of windows) is not 0 then
set window_name to name of front window
end if
end tell
return window_name
END"""
p = subprocess.Popen(cmd, shell=True)
p.terminate()
return p
def get_class_name(input_str):
re_expression = re.compile(r"(\w+)\.java")
full_match = re_expression.search(input_str)
class_name = full_match.group(1)
return class_name
print get_window_title()
Run Code Online (Sandbox Code Playgroud) 是否可以向OSX应用程序询问它响应哪些AppleScript命令,如果是,如何?
我想在finder上下文菜单中添加一个选项,调用hg add %1%1是finder中所选文件的完整路径.
当然,我可以想到更多有用的案例,添加到上下文菜单中.
有没有一种简单的方法可以做到这一点,不涉及安装任何第三方软件或编译语言编码和构建二进制插件?
就像用脚本编辑器创建脚本并将其放入/Library/Contextual Menu Items/?
我有一个我调用的shell脚本,osascript它osascript调用一个shell脚本并传入我在原始shell脚本中设置的变量.我不知道如何将该变量从applescript传递到shell脚本.
如何将变量从shell脚本传递到applescript到shell脚本......?
如果我没有意义,请告诉我.
i=0
for line in $(system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}'); do
UDID=${line}
echo $UDID
#i=$(($i+1))
sleep 1
osascript -e 'tell application "Terminal" to activate' \
-e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down' \
-e 'tell application "Terminal" to do script "cd '$current_dir'" in selected tab of the front window' \
-e …Run Code Online (Sandbox Code Playgroud) 我尝试做什么:
当我在我的一个文本编辑器(TextEdit,Byword,FoldingText)中时,我希望AppleScript显示文件路径.
我想要求最前面的窗口应用程序让我的应用程序名称很好,很容易,然后我可以在下一步请求POSIX路径.
问题:
脚本已经99%了,但我遗漏了一些东西.当我尝试使用activeApp它的变量不起作用,我得到这个错误:
Error Number:System Events got an error: Can’t get application {"TextEdit"}.
-1728
Run Code Online (Sandbox Code Playgroud)
这是脚本:
tell application "System Events"
set activeApp to name of application processes whose frontmost is true
--This doesn't work either:
--do shell script "php -r 'echo urldecode(\"" & activeApp & "\");'"
tell application activeApp
set myPath to POSIX path of (get file of front document)
end tell
display dialog myPath
end tell
Run Code Online (Sandbox Code Playgroud)
如果我activeApp与"TextEdit"一切工作交换.帮助将不胜感激.
也许这里有一些帮助:使用Applescript从应用程序名称获取进程名称,反之亦然
我目前正在通过Alfred运行GUI AppleScript来切换输入源,并且GUI脚本有时可能需要1秒才能完成更改.它有时很烦人.
我在终端/脚本中遇到了Determine OS X键盘布局("输入源").我想知道,因为如果有办法以编程方式更改输入源,我们可以找到当前的输入源吗?我试过覆盖com.apple.HIToolbox.plist但它没有改变输入.
(我确实知道系统偏好中有输入源的映射快捷方式,但我更喜欢用Alfred映射关键字)