自动执行枯燥的任务


2

喜欢这个问题: 自动化GUI任务?

我想要一种自动化GUI任务的方法。据我所知,这2个应用程序是用于那种东西的,但这2个应用程序很难使用。

好的,这是我使用自动脚本编写器II的脚本尝试:

我首先打开应用程序,然后使用该应用程序打开文件。我相信这部分是打开文件,然后双击它:

单击打开按钮

MouseClick, left,  63,  100
Sleep, 100
WinWait, Open, 
IfWinNotActive, Open, , WinActivate, Open, 
WinWaitActive, Open, 

双击选择文件:

MouseClick, left,  144,  111
MouseClick, left,  144,  111

我需要脚本的上面部分为每次迭代选择下一个文件。

然后它在应用程序中执行的操作:

WinWait, App Unicode, 
IfWinNotActive, App Unicode, , WinActivate, App Unicode, 
WinWaitActive, App Unicode, 
MouseClick, left,  304,  459
Sleep, 100
MouseClick, left,  405,  467
Sleep, 100
MouseClick, left,  219,  133
Sleep, 100

然后保存它:

WinWait, Save As, 
IfWinNotActive, Save As, , WinActivate, Save As, 
WinWaitActive, Save As, 
MouseClick, left,  527,  366
Sleep, 100

应用程序打开窗口直接进入包含所有文件的文件夹。我只需要使用autohotkey依次打开每个文件。

谢谢!

Answers:


2

在不知道你正在做什么的情况下,我不能为它编写任何类型的脚本,但假设它是一个资源管理器窗口,你可以使用一个循环:

Loop %RepeatCount% {
    ...
}

并使用一些数学计算何时连续,等等。

不过,请参阅自述文件的“循环(文件和文件夹)”部分。 看起来你要在目录中创建.ahk,然后执行类似的操作

Loop *.fileWhatIsBoringToManipulate
{
Run p:\ath\to\executable [command line option to load file]
WinWaitActive, Manipulator
//mouseclicks and stuff
}

后者会非常优越,但是如果你的应用程序不支持命令行输入,那么你最好把文件放在列表视图中并使用send {down} {return}而不是花哨的位置鼠标。


非常感谢你的帮助。关于使用数学计算何时连续下去,:(特别是因为窗口也需要滚动。
Ben

关于第二个选项,我不明白放在这里:运行path \ to \ executable [命令行选项加载文件]该应用程序是一个GUI应用程序,我不认为设置exe将工作。
Ben

关于做送回报,你能举个例子吗?如何选择上一个文件,以便在关闭后选择下一个文件?
Ben

1)是的,令人讨厌的东西:(2)大多数GUI应用程序也支持命令行的东西,比如在firefox中打开c:\ html.html,你可以做“firefox c:\ html.html” - 它只是简单地打开过程更清洁。 3)向下发送意味着您将在浏览器窗口打开的情况下触发脚本,并在为一个文件完成自动化后为其提供焦点。那将向下移动一个文件(在列表视图中,下一个文件)并启动它。下一次迭代,它将转到下一个文件,依此类推。
Phoshi

这对我来说太难了。我想我放弃了:)
Ben

1

如果您遇到的问题是尝试选择下一个文件,可能更容易选择列表中的第一个文件,对其进行操作,然后将其移动到其他文件夹。然后文件夹中的第一个文件将是之前的第二个文件。


1

只是一个想法,但打开对话框后,使用一些数学来计算击中向下键的次数或选择下一个文件(而不是使用鼠标点击)。这样,至少滚动将自动排序。除了那个和明显的命令行参数选项之外,我在使用它时实际上移动文件时有11个,所以下一个文件和第一个文件在同一个地方......

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.