Awesome
Robotn
<!--<img align="right" src="https://raw.githubusercontent.com/go-vgo/robotgo/master/logo.jpg">--> <!--[![Build Status](https://travis-ci.org/go-vgo/robotgo.svg)](https://travis-ci.org/go-vgo/robotgo) [![codecov](https://codecov.io/gh/go-vgo/robotgo/branch/master/graph/badge.svg)](https://codecov.io/gh/go-vgo/robotgo)--> <!--<a href="https://circleci.com/gh/go-vgo/robotgo/tree/dev"><img src="https://img.shields.io/circleci/project/go-vgo/robotgo/dev.svg" alt="Build Status"></a>--> <!-- [![Release](https://github-release-version.herokuapp.com/github/go-vgo/robotgo/release.svg?style=flat)](https://github.com/go-vgo/robotgo/releases/latest) --> <!-- <a href="https://github.com/go-vgo/robotgo/releases"><img src="https://img.shields.io/badge/%20version%20-%206.0.0%20-blue.svg?style=flat-square" alt="Releases"></a> -->Golang Desktop Automation, binding other language. Control the mouse, keyboard, bitmap, read the screen, Window Handle and global event listener.
Robotn supports Mac, Windows, and Linux(X11). Robot supports go, javascript, python and other.
Contents
Docs
Requirements:
Now, there is no prebuild binary version available, Please make sure Golang, GCC
is installed correctly before installing robotgo.
Install robotn
npm install robotn
Also, you can Build from source code. The python's pip install
, and the prebuilt binaries will be added in the future.
Examples:
Mouse
var robot = require('robotn');
robot.scroll(10, 10);
robot.mouseClick("left", true);
robot.moveSmooth(100, 200, 1.0, 100.0);
python
import robot
robot.scroll(10, 10)
robot.mouseClick("left", true)
robot.moveSmooth(100, 200, 1.0, 100.0)
Keyboard
var robot = require('robotn');
robot.typeStr("测试")
robot.typeStr("山达尔星新星军团, galaxy. こんにちは世界.")
robot.sleep(1)
robot.keyTap("enter")
robot.writeAll("Test")
var text = robot.readAll()
console.log(text)
Screen
var robot = require('robotn');
var pos = robot.getMousePos()
console.log("pos: ", pos)
var color = robot.getPixelColor(100, 200)
console.log("color---- ", color)
Bitmap
var robot = require('robotn');
var bitmap = robot.captureScreen(10, 20, 30, 40)
console.log("...", bitmap)
var pos = robot.findBitmap(bitmap)
console.log("FindBitmap------ ", pos)
robot.saveBitmap(bitmap, "test.png")
// use `robot.freeBitmap(bit)` to free the bitmap
robot.freeBitmap(bitmap)
Event
var robot = require('robotn');
var keve = robot.addEvent("k");
if (keve) {
console.log("you press... ", "k");
}
var s = robot.addEvents("q", "ctrl");
if (s) {
console.log("you press... ", "mouse left button");
}
Window
var robot = require('robotn');
var fpid = robot.findIds("Google")
console.log("pids... ", fpid)
if (fpid.length > 0) {
robot.activePID(fpid[0])
robot.kill(fpid[0])
}
robot.activeName("chrome")
var isExist = robot.pidExists(100)
if (isExist) {
console.log("pid exists is", isExist)
robot.kill(100)
}
var abool = robot.showAlert("test", "robotgo")
if (abool == 0) {
console.log("ok@@@ ", "ok")
}
var title = robot.getTitle()
console.log("title@@@ ", title)
Build from source code:
Install robotgo
go get -u github.com/go-vgo/robotgo
git clone https://github.com/vcaesar/robotn
Build-tools
go get -v github.com/vcaesar/gocs
Building
cd robotn
gocs -n robotgo
node:
Install npm modules
npm install
python
pip install cffi
Authors
Plans
- Update Find an image on screen, read pixels from an image
- Update Window Handle
- Try support Android, maybe support IOS
Contributors
- See contributors page for full list of contributors.
- See Contribution Guidelines.
License
Robotgo is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.
See LICENSE-APACHE, LICENSE-MIT.