测试一下robotgo自动化操作,顺便解决了原来的mingw版本中只有gcc,没有g++的问题
参考:https://gitee.com/veni0/robotgo#examples 但是编译不成功
找到这个:https://gitee.com/veni0/robotgo#examples
(这里还有一篇参考:https://gitee.com/veni0/robotgo#examples )
原来还是安装的Mingw有问题
用了github上robotgo推荐的带有zlib和libpng库的gcc环境:
https://github.com/go-vgo/Mingw
下载好之后无需安装直接放到D盘,配置一下环境变量: D:\Mingw\bin 加入 PATH.
gcc环境弄好之后。用以下代码测试:
package main import (
"github.com/go-vgo/robotgo"
) func main() {
robotgo.ScrollMouse(, "up")
robotgo.MouseClick("left", true)
robotgo.MoveMouseSmooth(, , 1.0, 100.0)
}
结果提示一堆错误,类似
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.8./../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.8./../../../../x86_64-w64-mingw32/lib/libmingwthrd.a when searching for -lmingwthrd
d:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.8./../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmingwthrd
一翻搜索,在https://stackoverflow.com/questions/14990222/skipping-incompatible-cannot-find的一位名叫Michael Burr的answer提醒了我,意思大概就是说需要32位的lib,所以不匹配当前的64位的lib
于是修改liteide工具条上的环境设置,原来的是win32-user 改为 system 。liteide提示GOARCH 变成了 amd64. 重新Ctrl-R,成功运行。
这时发现鼠标已经不受控了,心中一惊。好在还有键盘快捷方式,用Alt+B 及光标停止了liteide的运行(其实当鼠标移动到位后程序就自动结束了)。
另外还有一个小插曲,下载解压mingw后提示一堆的病毒,网上也有抱怨360的,因为360是公司要求装的,不能卸载。最后将mingw目录加入360的设置白名单。
补充一个例子,因为公司业务只能用IE,有个ActiveX。试试操作IE打开百度进行搜索,代码如下:
package main import (
"os/exec" "github.com/go-vgo/robotgo"
) func main() {
//启动IE,打开百度
exec.Command("cmd", "/c", "start", "iexplore.exe", "www.baidu.com").Run()
//等待
robotgo.MilliSleep( * )
// get current Window Active
mdata := robotgo.GetActive()
// set Window Active
robotgo.SetActive(mdata)
robotgo.TypeString("pu369")
robotgo.KeyTap("space")
robotgo.TypeString("golang")
robotgo.KeyTap("enter")
robotgo.MilliSleep( * )
// close current Window
robotgo.CloseWindow() }
最后看了一下,github源代码有个什么Apache License,虽然咱属于“合理利用”,也不知道应该和谁辩论合理不合理,还是似懂非懂地按要求附上Apache License如下:
// Copyright 2016 The go-vgo Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// https://github.com/go-vgo/robotgo/blob/master/LICENSE
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
测试一下robotgo自动化操作,顺便解决了原来的mingw版本中只有gcc,没有g++的问题的更多相关文章
- 解决Android 4.0以上版本中OptionsMenu菜单不显示ICON图标的问题
在Android4.0系统中,创建菜单Menu,通过setIcon方法给菜单添加图标是无效的,图标没有显出来,2.3系统中是可以显示出来的.这个问题的根本原因在于4.0系统中,涉及到菜单的源码类 Me ...
- Saltstack自动化操作记录(1)-环境部署【转】
早期运维工作中用过稍微复杂的Puppet,下面介绍下更为简单实用的Saltstack自动化运维的使用. Saltstack知多少Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中 ...
- Saltstack自动化操作记录(1)-环境部署
早期运维工作中用过稍微复杂的Puppet,下面介绍下更为简单实用的Saltstack自动化运维的使用. Saltstack知多少Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中 ...
- Atitit.web的自动化操作与信息抓取 attilax总结
Atitit.web的自动化操作与信息抓取 attilax总结 1. Web操作自动化工具,可以简单的划分为2大派系: 1.录制回放 2.手工编写0 U' z; D! s2 d/ Q! ^1 2. 常 ...
- 使用Jenkins + git submodule 实现自动化编译,解决代码安全性问题
道哥的第 030 篇原创 目录 一.一个真实的代码泄漏故事 二.Jenkins 的基本使用 1. Jenkins 是什么? 2. 安装 JDK8 3. 安装 Jenkins 4. 在浏览器中配置 Je ...
- 【Android测试】UI自动化代码优化之路(临时发布, 随时删除)
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5993622.html 关于UI自动化的抱怨 听过不少人这样 ...
- splinter python浏览器自动化操作,模拟浏览器的行为
Splinter可以非常棒的模拟浏览器的行为,Splinter提供了丰富的API,可以获取页面的信息判断当前的行为所产生的结果 最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有 ...
- Python实现浏览器自动化操作
Python实现浏览器自动化操作 (2012-08-02 17:35:43) 转载▼ 最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有不少介绍,例如使用pamie,但是只是 ...
- [转载]Python实现浏览器自动化操作
原文地址:Python实现浏览器自动化操作作者:rayment 最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有不少介绍,例如使用pamie,但是只是支持IE,而且项目也较久没 ...
随机推荐
- 反向ajax实现原理
留言板显示留言一直刷新,那么实现原理是怎么样的? 一般发送留言就是通过正常的ajax向服务器发送数据,而实时显示留言就需要用到轮询了. 什么是轮询:就是使用定时器,每隔固定的时间从客户端向服务器发起请 ...
- JavaScript 基础(三) - Date对象,RegExp对象,Math对象,Window 对象,History 对象,Location 对象,DOM 节点
Date对象 创建Date对象 //方法1:不指定参数 var date_obj = new Date(); alert(date_obj.toLocaleString()) //方法2:参数为日期字 ...
- ajaxJson(常用)
function ajaxJson(method, url, data, callback) { var options = { type: method, url: url, dataType: ' ...
- 苹果手机如何投屏到win10电脑上
苹果手机中的IOS系统比安卓系统的确好用.苹果手机使用多久都不会出现手机卡顿的现象,一如既往的流畅自如,这就是人们追求苹果机的原因之一.苹果手机朋友们可能会觉得手机屏幕太小影响视觉怎么办,苹果手机如何 ...
- JMeter Dubbo请求插件jmeter-plugin-dubbo.jar
JMeter Dubbo请求插件jmeter-plugin-dubbo.jar by:授客 QQ:1033553122 测试环境 apache-jmeter-3.2 Dubbo 2.6.2 声明 ...
- Windows上通过bat调用jmx进行循环运行
1.jmx测试脚本中有两个线程组: 1)第一个线程组:模拟60台客户机并发像服务器发送上报请求,需要调用线程组的循环运行 2)第二个线程组:60台客户机上线后,模拟管理平台对客户机进行基础操作,如:创 ...
- Spring Boot 特性以及代码模板实例
SpringBoot工程 参数解析 HTTP Method Request / Response / Session Error/重定向 Logger IoC AOP/Aspect 1:Sprin ...
- java的优点和误解 《java核心技术卷i》第一章
<java核心技术卷i>第一章主要内容包括三点: 1:Java白皮书的关键术语:描述Java的十一个关键字: 2:Java applet 3 :关于Java的常见误解 1:第一章:Ja ...
- springboot 学习之路 4(日志输出)
目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...
- 跨域调用接口的方法之一:$.ajaxSetup()
跨域查询接口的数据,之前在公司时有发生过,产生的原因是,本地请求的域名或IP地址不一致,解除方法,也是修改域名和IP地址.比如: 接口中的数据来自IP地址:192.168.1.23/get.php 如 ...