robotgo - Go原生跨平台RPA和GUI自动化
2024-05-14 09:21:19
构建状态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") }