lovely Lepus brachyurus!
You try to automation on windows gui operation, you might use RPA tool. after, you will setup this tool requirement for execute. install, config file customize, and depend tool and more.
I want do old installer to automate, only once. But, RPA set up is a pain in the ass. I think needs, light weight RPA tool.
- one binary (it's not perfect)
- light weight
- very simple use
- (Of course) free!
- one execute file include all binary and dll files.
- when execute this, extract execute file for RPA, and OpenCV dll files.
- and then, execute RPA binary depend for OpenCV, Your operation recorded or replayed!
this tool have two functions roughly. It's Record or Replay.
When no option, tool is Record mode.
rabbitRPA.exe
tool executed and create require files, after follow message.
- - recording start! you want to end this mode, key press ascii code (%d) - -
until input exit key code, your operation recorded.
(default exit key code is 27[Escape Key].)
After input exit key code, your operation is recorded tsv file and captures.
tsv file include target window title, move value mouse, click position.
captures include all screen, and target window capture.
tool calculates the capture's difference.
Therefore, If target windows moved another position, that position adjust.
Replay the operation using the file you just used. set you options.
rabbitRPA.exe -replay -import=output.tsv
"-replay" is replay mode option.
"-import" is exported tsv file for record mode.
download binary from release page.
save binary file, copy to entryed execute path directory.
this tool depend gocv and statik.
step1. you install gocv(and opencv)
See below.
https://github.com/hybridgroup/gocv#windows
win_build_opencv.cmd
step2. "statik" set up
go get github.com/rakyll/statik
step3. clone this repository
git clone https://github.com/yasutakatou/rabbitRPA
cd rabbitRPA
step4. copy opencv dlls and converted by statik
Copy the dll from the opencv folder. (total 11 files)
ex) C:\opencv\build\install\x64\mingw\bin to .\rabbitRPA
libopencv_calib3d430.dll
libopencv_core430.dll
libopencv_dnn430.dll
libopencv_features2d430.dll
libopencv_flann430.dll
libopencv_highgui430.dll
libopencv_imgcodecs430.dll
libopencv_imgproc430.dll
libopencv_objdetect430.dll
libopencv_video430.dll
libopencv_videoio430.dll
Build the RPA tool.
go build do.go
converting by use statik.
cd rabbitRPA
statik -src=./ -include=*.dll,*.exe
Finally, package everything up.
go build rabbitRPA.go
delete that binarys.
del or rm command. (it's simple!)
note) this options give to RPA binary(do.exe) as is. therefore, do.exe's options same too.
option name | default value | detail |
---|---|---|
-list | false | listing window titiles and exit use to search target window title. |
-replay | false | replay mode (true is enable) |
-record | true | recording mode (true is enable) default is on(recording mode) |
-export | output.tsv | export file name If exists same file name, it's overwriten. |
-import | input.tsv | import file name |
-debug | false | debug mode (true is enable) |
-threshold | 0.1 | same window threshold The lower the value, the more, select large difference. If screen size is more larger when it's replay, try value lower. |
-move | 50 | mouse move record threshold record the mouse move par this value. When value is lower, recording often. |
-try | 10 | error and try counter In case of wait next screen a while, set value larger. |
-wait | 250 | loop wait Millisecond |
-exitCode | 27 | recording mode to exit ascii key code ascii code, please refer this site. |
-tmpDir | tmp | temporary directory name save captures to this directory. If exists same directory name, it's overwriten. |
- If exists same title window, doing on smaller window handle.
Because search partial of window title.
When focus some tool, this tool's window title auto changed, this tool can't focus that.
Then, search partial.
- Why double click don't record?
This tool depend golang module, and that module detect click count only.
I mean, When double click want to enable, must detect how long it takes to double click.
Each PC's specs are different. It's difficult!
(Probably) the world's first one file RPA tool impremented by Golang!
Copyright (c) 2020 yasutakatou
3-clause BSD License
and
Apache License Version 2.0