跨平台gui自动化 调研

centos上可以安装xdotool, xdotool是linux下的按键精灵,可以自动输入指令,移动鼠标,敲击键盘。

网上搜的时候,发现mousego 简单看了下源码,它里面用到了robotgo
介绍是跨平台的,GUI自动化的go项目
RobotGo, Go Native cross-platform GUI automation

https://www.libhunt.com/compare-robotgo-vs-webview robotgo和webview的对比
https://www.reddit.com/r/learnprogramming/comments/m9kv2v/best_tool_to_automate_gui_like_autohotkey/ 网友给的一些建议
https://blog.csdn.net/caimengxin/article/details/123307605

初步验证robotgo就可以支持跨平台命令行操作之后截图的操作

package main
// ## plan3: 
// step1: 获取环境变量路径:比如挂载的硬盘,可以用的网卡
// step2: 请用户确认已经打开了终端(linux中的terminal/windows的mobaxterm, putty, xshell, sercureCRT,  etc.)并连上了要操作的服务器。
// step3: 需要依次点击输入页面的左上角和右下角
// step4: 开始输入命令,并且进行截图, 截图存放指定位置
// step5: ....
// step6: 开始输入命令,并且进行截图, 截图存放指定位置
// step7: 执行结束,退出

// ## plan1: 
// plan1的难度在于,webshell需要启动到客户的服务器上,可能我们启动服务之后,因为客户的网络问题,访问不到服务. 
// https://github.com/xypiie/WebShell 可以启动一个webshell 
// 做的方式就是,判断输入的内容,判断web里面的接口,根据特定输入内容,进行截图, 命名. 

// ## plan2:




import (
	"fmt"
	"github.com/go-vgo/robotgo"
)


func main() {
	robotgo.MilliSleep(5000)
	robotgo.TypeStr("Hello World")
	robotgo.KeyTap("enter")
	robotgo.TypeStr("だんしゃり", 0, 1)
	robotgo.KeyTap("enter")
	// robotgo.TypeStr("テストする")
	robotgo.TypeStr("Hi, Seattle space needle, Golden gate bridge, One world trade center.")
	robotgo.KeyTap("enter")
	robotgo.TypeStr("Hi galaxy, hi stars, hi MT.Rainier, hi sea. こんにちは世界.")
	robotgo.KeyTap("enter")
	robotgo.Sleep(1)

	// ustr := uint32(robotgo.CharCodeAt("Test", 0))
	// robotgo.UnicodeType(ustr)

	robotgo.KeySleep = 100
	robotgo.KeyTap("enter")
	// robotgo.TypeStr("en")
	robotgo.KeyTap("i", "alt", "cmd")

	arr := []string{"alt", "cmd"}
	robotgo.KeyTap("i", arr)

	robotgo.MilliSleep(100)
	robotgo.KeyToggle("a")
	robotgo.KeyToggle("a", "up")

	robotgo.WriteAll("Test")
	text, err := robotgo.ReadAll()
	if err == nil {
		fmt.Println(text)
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值