新手到苹果,对不起,如果它愚蠢。我一直在尝试编写一个脚本来检查网络是否健康,如果没有,请转到网址并单击网页上的“登录”按钮(实际上该页面包含“用户名”和“密码”,我的浏览器会自动填充)。我使用了以下代码;
try
set thePing to do shell script "/sbin/ping -o -c 1 www.google.com"
on error
tell application "Google Chrome" to open location "https://mwcp-ekm-04.adlkerala.com:8001"
delay 5
tell application "System Events"
tell process "chrome"
click at {585, 220}
end tell
end tell
end try
(我知道javascript会更好'点击'然后我不知道该怎么做)
运行时我收到以下错误“系统事件出错:无法将{585,220}转换为类型列表。”编号-1700从{585,220}列出“
编辑:
经过一些谷歌搜索后我设法拔出了java代码;
try
set thePing to do shell script "/sbin/ping -o -c 1 www.google.com"
on error
tell application "Safari" to open location "https://mwcp-ekm-04.adlkerala.com:8001"
delay 3
tell application "Safari"
do JavaScript "document.getElementById('submit').click();" in current tab of first window
end tell
但现在返回结果“缺少值”
end try
我将不胜感激任何帮助
由于
答案 0 :(得分:3)
我认为click at
在10.9中停止了工作。或者至少
tell application "System Events" to tell process "Safari"
set frontmost to true
click at {20, 20}
end tell
在10.8中适用于我,但在10.9中会导致类似error "System Events got an error: Can’t make {20, 20} into type list." number -1700 from {20, 20} to list
的错误。
尝试使用MouseTools或cliclick(或JavaScript)。
答案 1 :(得分:0)
我刚刚用s.o回答了一个非常类似的问题。试图“点击桌面”(here)...
系统事件的sdef文件说,当发送到“进程”对象 [在]点击的{x,y}位置时,“click at”仍然有效在全局坐标(意思是:在绝对屏幕坐标中,相对于应用程序窗口的 NOT )。
所以:你不能“点击”桌面上可见的文件(实际上是“文件”:进程“Finder”的滚动区域组1的图像)但你仍然可以点击任何窗口/按钮。
每次“点击”,屏幕上的任何位置都必须有“目标”。它不会像鼠标一样工作。