如何自动化「桌面软件」的点击操作?

公司的项目,需要将"某软件的机械重复的点击动作"自动化,涉及到:按钮的点击、文件的选择、输入框的输入,
在网上查到资料,可以用windows的句柄获取到窗口的一些控件,
请问:1)具体是用哪种语言实现的呢?
2)上述的三个功能是不是都能用这种方法实现?
3)如果公司想招工程师来做这件事,应该找哪个岗位的工程师?(.net\c#\c++\python?)

阅读 17.6k
6 个回答

1、用 spy ++ 获取相关控件的句柄。
2、使用 pywin32 这个第三方库来进行编程。
3、然后使用 pyInstaller 进行打包,你就可以在windows机器上使用了。

如果你的软件使用的是当今流行的 DrectUI 界面,那么 spy++ 会获取不到相关控件的句柄。这我就没有拌饭了,如果其它的大牛有办法,不妨告诉一声。

有一个方案是pyautogui,可以十分方便的操作鼠标和键盘,其实实现操纵鼠标键盘的包邮很多,pywin32也是一种。但是我觉得最麻烦的还是怎么获取你要输入窗口及控件,如1L所说的有的UI界面确实没法获取控件句柄。但是pyautogui有截屏功能,也自带一个locationOnScreen(具体可以去看官方文档),但是这个自带的识别位置的功能有局限性,就是用于识别的图片大小必须和原有的一样(请注意大小要完全一样,且win10要关闭透明效果),否则识别不到位置。不过你可以使用pyautogui的截屏功能及opencv来实现位置定位,再加上键盘鼠标控制就可以解决有的UI获取不到句柄没办法控制的问题了。

按键精灵满足不了你?

新手上路,请多包涵

可以模拟用户操作行为,获取页面元素,封装成指令嵌在代码中就行
我做过类似的软件,java后台研发出身,封装页面指令用webdriver就行,有需要可以给我发邮件gaoyingde@foxmail.com

试试 python 的 mouse 模块

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题