从服务器运行autoit / autohotkey脚本?或其他自动化替代品?

时间:2012-06-28 09:33:10

标签: automation autoit

我有一些脚本(AutoIt)浏览YouTube以查看趋势视频列表等。它不涉及鼠标点击(只需按键)。该脚本需要很长时间才能完成,在此期间我无法使用我的PC(它需要激活窗口才能使用它)。

我能做些什么吗?这些脚本可以从服务器或类似的东西运行吗?

4 个答案:

答案 0 :(得分:1)

正如Johannes所说,AutoIt可能不适合(同样也是AutoHotkey),但你可以查看其他语言存在的许多GUI和Web测试框架。其中一些,你可以运行一个“无头”浏览器(一个像浏览器一样浏览网页,但没有可见窗口的程序);或者您可以在虚拟显示器上运行标准浏览器,如Xvfb X11服务器。如果服务器(或者它将要运行的任何地方)运行类似Unix的操作系统,这将是最简单的,但也可以在Windows上使用。

Selenium Webdriver似乎是编写和测试实际浏览器的一个非常受欢迎的选择。它本身就是Java,但它具有Ruby等语言的绑定。它还可以挂钩到名为HtmlUnit的东西,它也是Java;这是比较流行的无头浏览器之一。另一个(一个相对较新的人)是phantom.js,它在Javascript中,但(再次)具有其他语言的绑定。

答案 1 :(得分:1)

我遇到了类似的问题:在Windows服务器上使用AutoIt运行自动化,整个事情必须是无头的。使用远程桌面简直无法正常工作,因为我必须始终保持客户端的打开和最大化。

简短解决方案:在Windows Server中安装VNC服务器,从另一台计算机打开客户端,登录并关闭客户端。由于Jenkins作业正在启动AutoIt脚本,因此在关闭客户端之前,必须通过Web界面启动Jenkins applet。

顺便说一句,我从这篇文章中得到了这个想法:How to run remote headless GUI automation

答案 2 :(得分:0)

据我所知,除非用户帐户已登录,否则无法使用此功能。您可以尝试查看是否可以将其转换为exe并将其作为服务运行,但即便如此,我认为这不会起作用。如果你发现了,请告诉我!

答案 3 :(得分:0)

你可以:

隐藏你的窗口(SetWindowState @SW_HIDE)或类似的东西...... 并使用ControlClicks(如果它们是原始控件!)

隐藏您的窗口并使用SendControl

使用SendKeepActive

使用像ie.au3这样的OLEObjects进行自动化。

祝你好运