• robotgo - Go原生跨平台RPA和GUI自动化
  • 构建状态CircleCI状态构建状态Appveyor Go报告卡GoDoc GitHub发行版加入https://gitter.im/go-vgo/robotgo聊天

    Golang桌面自动化。控制鼠标、键盘、读取屏幕、进程、窗口句柄、图像和位图以及全局事件监听器。

    RobotGo支持Mac、Windows和Linux(X11);robotgo还支持arm64和x86-amd64。


    package main
    
    import (
     "github.com/go-vgo/robotgo"
    )
    
    func main() {
     // 设置鼠标移动速度
     robotgo.MouseSleep = 100
    
     // 向上滚动10个滚轮单位
     robotgo.ScrollDir(10, "up")
    
     // 向右滚动20个滚轮单位
     robotgo.ScrollDir(20, "right")
    
     // 向下滚动10个滚轮单位
     robotgo.Scroll(0, -10)
    
     // 向左滚动100个滚轮单位
     robotgo.Scroll(100, 0)
    
     // 延迟100毫秒
     robotgo.MilliSleep(100)
    
     // 平滑滚动,向上滚动6个滚轮单位,持续时间为10毫秒
     robotgo.ScrollSmooth(-10, 6)
    
     // 将鼠标移动到屏幕坐标(10, 20)的位置
     robotgo.Move(10, 20)
    
     // 相对于当前位置向上移动10个像素
     robotgo.MoveRelative(0, -10)
    
     // 平滑拖动,从当前位置拖动到(10, 10)的位置
     robotgo.DragSmooth(10, 10)
    
     // 点击鼠标右键
     robotgo.Click("wheelRight")
    
     // 按下并释放鼠标左键(模拟点击)
     robotgo.Click("left", true)
    
     // 平滑移动鼠标到屏幕坐标(100, 200)的位置,移动速度为系统默认值,每步移动延迟10毫秒
     robotgo.MoveSmooth(100, 200, 1.0, 10.0)
    
     // 按下并释放鼠标左键(切换状态)
     robotgo.Toggle("left")
    
     // 按下并释放鼠标左键(切换状态),释放后执行一次鼠标移动事件(向上)
     robotgo.Toggle("left", "up")
    }