rmpr / atbswp Goto Github PK
View Code? Open in Web Editor NEWA minimalist macro recorder
License: GNU General Public License v3.0
A minimalist macro recorder
License: GNU General Public License v3.0
Traceback (most recent call last):
File "atbswp/atbswp.py", line 21, in
import gui
File "/home/hemang/atbswp/atbswp/gui.py", line 27, in
import control
File "/home/hemang/atbswp/atbswp/control.py", line 36, in
from custom_widgets import SliderDialog
File "/home/hemang/atbswp/atbswp/custom_widgets.py", line 20, in
import wx
ModuleNotFoundError: No module named 'wx'
Linux Mint 20
Cinnamon
Python 3.7
since I updated from linux mint 19.3 to 20, I get this when I click on the options, and it doesn't work. Do you know what could be? Thank you:
Traceback (most recent call last):
File "/home/cristian/atbswp/atbswp/gui.py", line 45, in on_settings_click
self.settings_popup()
File "/home/cristian/atbswp/atbswp/gui.py", line 103, in settings_popup
lang_item = submenu.AppendRadioItem(wx.ID_ANY, l)
NameError: name 'l' is not defined
#!/bin/env python3
# Created by atbswp (https://github.com/rmpr/atbswp)
# on 05 Nov 2020
import pyautogui
import time
pyautogui.FAILSAFE = False
pyautogui.moveTo(1087, 812)
pyautogui.mouseDown(565, 342, 'left')
pyautogui.mouseUp(565, 342, 'left')
time.sleep(2)
pyautogui.mouseDown(906, 338, 'left')
pyautogui.mouseUp(906, 338, 'left')
time.sleep(1)
pyautogui.mouseDown(829, 498, 'left')
pyautogui.mouseUp(829, 498, 'left')
time.sleep(1)
pyautogui.mouseDown(867, 651, 'left')
pyautogui.mouseUp(867, 651, 'left')
time.sleep(2)
pyautogui.mouseDown(941, 200, 'left')
pyautogui.mouseUp(941, 200, 'left')
time.sleep(1)
Linux Mageia 7
Plasma
Python 3.7.9
I'm using (this nice!) atbswp
to help me to remove spammer accounts from my site. The number of new spammers is variable so I often have to set the repeat count and that's a pain to each time have to:
So it would be nice for the repeat count setting to be available on the main window and, preferably, with a "number box" (just as HTML <input>
with type="number"
).
PASTE VERBOSE LOG HERE
Windows 10
Write here
3.9
Currently, each keypress has a consistent delay in between and I'm trying to find a way to record the exact time in between them.
For example, if the script generated could look like this:
pyautogui.moveTo(2586, 674)
pyautogui.mouseDown(2531, 466, 'left')
pyautogui.mouseUp(2531, 466, 'left')
time.sleep(1)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
pyautogui.keyDown('enter')
timer.sleep(.234) # DELAY
pyautogui.keyUp('enter')
timer.sleep(.333) # DELAY
pyautogui.keyDown('e')
pyautogui.keyDown('n')
It seems like the easiest way to do this would be to set a timer in between each record
call, but if there's an easier way to do this, let me know.
/tmp/atbswp-* doesn't seem to exist on my system
Ubuntu 20.10
X11 / Gnome 3.38.3
3.8.6
atbswp only responds to hotkeys when the atbswp window has focus.
Infinite Playback of a mouse click macro had gone awry and I was slamming F9 to stop it, but because I wasn't able to select the atbswp window, F9 did nothing. Had to reboot to get out of it.
Afterward I confirmed that both the recording hotkey and the playback hotkey exhibit this behavior.
This is a request to be able to test the tool without having to install python on my machine. I'm not a python dev. I think the tool is very interesting. I would have loved to test it but apparently I must install python to get it done. Don't know how python works but is it not possible to get the a beta release as executable ?
Linux Mint 20.1
x11/Cinnamon
I just have a feature request. I use the repeat function frequently with high numbers. It would be great if the UI displayed time remaining. In the least, displaying remaining iterations left would be useful for me to see. Thanks!
This recorder is awesome,
But it dont let you CTRL+C or CTRL+V copy and paste text,
So it limit a lot the usability, as for a large amount of cases, this are important keys.
Let me know if you continue working on it or is obsolete, as there are issues from 2 years ago related to this point.
Thanks in advance,
PASTE VERBOSE LOG HERE
Linux 5.10.42-1-MANJARO
KDE Plasma, KWin (X11)
3.9.5
Is there any way I can make the playback faster?
N/A
Linux 5.10.42-1-MANJARO
KDE Plasma 5.21.5/KWin (X11)
3.9.5
Is there any reason this isn't in the AUR? I would add it myself if I knew how. I tried following a tutorial but I've never done this before and I don't want to screw it up.
#!/bin/env python3
# Created by atbswp (https://github.com/rmpr/atbswp)
# on 05 Nov 2020
import pyautogui
import time
pyautogui.FAILSAFE = False
pyautogui.moveTo(1087, 812)
pyautogui.mouseDown(565, 342, 'left')
pyautogui.mouseUp(565, 342, 'left')
time.sleep(2)
pyautogui.mouseDown(906, 338, 'left')
pyautogui.mouseUp(906, 338, 'left')
time.sleep(1)
pyautogui.mouseDown(829, 498, 'left')
pyautogui.mouseUp(829, 498, 'left')
time.sleep(1)
pyautogui.mouseDown(867, 651, 'left')
pyautogui.mouseUp(867, 651, 'left')
time.sleep(2)
pyautogui.mouseDown(941, 200, 'left')
pyautogui.mouseUp(941, 200, 'left')
time.sleep(1)
Linux Mageia 8
Plasma
Python 3.8.9
The Ctrl+R keyboard shortcut to access the repeat count setting, that used to work nicely with atbswp
0.2, doesn't work with atbswp
0.3.0.
Hi
windows 10
last versione of atbswp
the tool don't recognized hot key like ctrl + tab
When a user try to record the actions he gets the following error:
Python[70213:306866] pid(70213)/euid(1594649954) is calling TIS/TSM in non-main thread environment, ERROR : This is NOT allowed. Please call TIS/TSM in main thread!!!
It seems to be related to this
#!/bin/env python3
# Created by atbswp v0.3.0 (https://git.sr.ht/~rmpr/atbswp)
# on 19 May 2022
import pyautogui
import time
pyautogui.FAILSAFE = False
time.sleep(3)
pyautogui.keyDown('shift_left')
pyautogui.keyDown('T')
pyautogui.moveTo(651, 1042)
pyautogui.moveTo(646, 1068)
pyautogui.moveTo(638, 1100)
pyautogui.moveTo(631, 1133)
pyautogui.moveTo(621, 1170)
pyautogui.moveTo(607, 1212)
pyautogui.moveTo(593, 1254)
pyautogui.moveTo(587, 1276)
pyautogui.moveTo(583, 1298)
pyautogui.moveTo(579, 1322)
pyautogui.moveTo(577, 1344)
pyautogui.moveTo(577, 1366)
pyautogui.moveTo(577, 1400)
pyautogui.moveTo(577, 1426)
pyautogui.moveTo(577, 1452)
pyautogui.mouseDown(576, 1465, 'left')
pyautogui.mouseUp(576, 1465, 'left')
pyautogui.keyDown('shift_left')
pyautogui.keyDown('H')
pyautogui.keyUp('shift_left')
pyautogui.keyDown('e')
pyautogui.keyUp('h')
pyautogui.keyDown('l')
pyautogui.keyUp('e')
pyautogui.keyUp('l')
pyautogui.keyDown('l')
pyautogui.keyUp('l')
pyautogui.keyDown('o')
pyautogui.keyUp('o')
pyautogui.keyDown('.')
pyautogui.keyUp('.')
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.keyDown('space')
pyautogui.keyDown('shift_left')
pyautogui.keyUp('space')
pyautogui.keyDown('T')
pyautogui.keyUp('shift_left')
pyautogui.keyUp('t')
pyautogui.keyDown('h')
pyautogui.keyDown('i')
pyautogui.keyDown('s')
pyautogui.keyUp('h')
pyautogui.keyUp('i')
pyautogui.keyDown('space')
pyautogui.keyUp('s')
pyautogui.keyDown('i')
pyautogui.keyUp('space')
pyautogui.keyDown('s')
pyautogui.keyUp('i')
pyautogui.keyDown('space')
pyautogui.keyUp('s')
pyautogui.keyUp('space')
pyautogui.keyDown('a')
pyautogui.keyDown('space')
pyautogui.keyUp('a')
pyautogui.keyUp('space')
pyautogui.keyDown('t')
pyautogui.keyDown('e')
pyautogui.keyDown('s')
pyautogui.keyUp('t')
pyautogui.keyDown('t')
pyautogui.keyUp('s')
pyautogui.keyDown('.')
pyautogui.keyUp('e')
pyautogui.keyUp('t')
pyautogui.keyUp('.')
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
pyautogui.moveTo(604, 1445)
pyautogui.moveTo(613, 1417)
pyautogui.moveTo(614, 1395)
pyautogui.moveTo(626, 1369)
pyautogui.moveTo(647, 1345)
pyautogui.moveTo(668, 1326)
pyautogui.moveTo(690, 1306)
pyautogui.moveTo(707, 1285)
pyautogui.moveTo(715, 1257)
pyautogui.moveTo(717, 1234)
pyautogui.moveTo(715, 1206)
pyautogui.moveTo(715, 1180)
pyautogui.moveTo(715, 1154)
pyautogui.moveTo(716, 1131)
pyautogui.moveTo(720, 1108)
pyautogui.moveTo(729, 1083)
pyautogui.moveTo(738, 1060)
pyautogui.moveTo(707, 1037)
pyautogui.moveTo(673, 1022)
pyautogui.moveTo(646, 1011)
Ubuntu 22.04
Gnome/X11
3.10.4
So I can record macros just fine. Mouse movements and keyboard presses appear to be represented correctly in the log/script to my untrained eyes... But playing back that script results in a lot of strange extra characters added and some are missing.
In the log above I record myself clicking a text editor window to give it focus (gedit, the default in gnome) and then typing:
Hello. This is a test.
I then click atbswp to stop the recording.
I then play back that recording. What shows up in the editor is this:
ttttttttttHello. his is a test.
Sometimes it's
tttttttttHello. his is a test.
I'm trying to record macros for a game where timing and accuracy are critical (Elden Ring) and I haven't been able to get any of my recordings to playback consistently.
I'm not smart enough to determine if this is a bug with atbswp or with pyautogui or with something else.
#!/bin/env python3
# Created by atbswp (https://github.com/rmpr/atbswp)
# on 22 Jan 2021
import pyautogui
import time
pyautogui.FAILSAFE = False
time.sleep(1)
time.sleep(2)
time.sleep(8)
time.sleep(2)
time.sleep(17)
time.sleep(1)
time.sleep(1)
time.sleep(1)
time.sleep(86)
time.sleep(2)
time.sleep(3)
time.sleep(2)
time.sleep(5)
time.sleep(1)
time.sleep(1)
time.sleep(1)
time.sleep(1)
time.sleep(1)
time.sleep(1)
time.sleep(22)
time.sleep(14)
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
Operating System: Kubuntu 20.04
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8
Kernel Version: 5.4.0-60-generic
OS Type: 64-bit
Processors: 4 × Intel® Core™ i7-6600U CPU @ 2.60GHz
Memory: 11.4 GiB of RAM
3.8.5
I have a thinkpad T460s and I tried recording using the built in touchscreen. As you can see from the tmp file, it recorded the pauses inbetween taps, but not the taps themsleves. It would be nice if the tool could record touchscreens as well; it can cut down on mouse movements recorded.
Hi Firstly thanks a lot for great instrument
Only one problem I strugling with is
If I have Virtulabox debian 10 + xfce machine I added to cron to run script aoutomaticaly and all working great
*/4 * * * * export DISPLAY=:0 && /usr/bin/python3 /home/alekbotj/Documents/capture.pyc
If I add the same way to same machine running xrdp I got errors
Traceback (most recent call last):
File "/home/ss_monitoring/.local/lib/python3.7/site-packages/Xlib/support/unix_connect.py", line 119, in get_socket
s = _get_unix_socket(address)
File "/home/ss_monitoring/.local/lib/python3.7/site-packages/Xlib/support/unix_connect.py", line 98, in _get_unix_socket
s.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ss_monitoring/.local/lib/python3.7/site-packages/Xlib/support/unix_connect.py", line 123, in get_socket
s = _get_tcp_socket(host, dno)
File "/home/ss_monitoring/.local/lib/python3.7/site-packages/Xlib/support/unix_connect.py", line 93, in _get_tcp_socket
s.connect((host, 6000 + dno))
ConnectionRefusedError: [Errno 111] Connection refused
If I run it via terminal all is ok
Can someone help how to fix this issue?
git clone https://github.com/rmpr/atbswp.git && cd atbswp
sudo apt install python3-wxgtk4.0
python3 atbswp.py
Cloning into 'atbswp'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 13 (delta 0), reused 13 (delta 0), pack-reused 0
Unpacking objects: 100% (13/13), done.
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-wxgtk4.0 is already the newest version (4.0.1+dfsg-2).
The following packages were automatically installed and are no longer required:
python-wxgtk3.0 python-wxversion
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Traceback (most recent call last):
File "atbswp.py", line 19, in <module>
import wx
ModuleNotFoundError: No module named 'wx'
n/a
Ubuntu 21.04
X11
3.9.5
I used to run atbswp without a problem with Python 3.8.
When upgrading from Ubuntu 20.10 to 21.04, Python was updated to 3.9. Now atbswp won't launch anymore:
user@desktop:~/atbswp/atbswp$ python3 atbswp.py
Traceback (most recent call last):
File "/home/user/atbswp/atbswp/atbswp.py", line 21, in <module>
import gui
File "/home/user/atbswp/atbswp/gui.py", line 27, in <module>
import control
File "/home/user/atbswp/atbswp/control.py", line 30, in <module>
import pyautogui
ModuleNotFoundError: No module named 'pyautogui'
PASTE VERBOSE LOG HERE
linux
linux
3.8.6
the app needs schedule feature so anyone can schedule any sequence anytime he wants or difrente times without the need to go in to crontab and linux commands
i have tried to make the python file work in crontab and i keep getting errors
n/a
Ubuntu 20.10
X11 / Gnome 3.38.3
3.8.6
The "About" section of the app reports it as being "v0.1" and has a copyright date of 2019, when in fact you're running v0.2 which was released in 2021.
Hi,
It seems that the key combination, CTRL+key
is not record. Or it is not replay.
I don't know if there is any log or output that I can provide to help.
Thanks
Version : atbswp 0.1
Env : Windows 10
Python : 3.7.4
Following this poll https://t.me/atbswp/36, (while against it) I decided to gather
advices for a new name. Feel free to propose a new one.
n/a
Ubuntu LTS
default
default
Records and plays back perfectly, and has an undocumented option "Compile to exe" - which writes-out a binary file with .pyc on the end of the name, however, this doesn't execute and there's no explanation for how we use it.
[cnd@uvm ~]$ chmod ugo+x clicky.pyc
[cnd@uvm ]$ ./clicky.pyca\203\a\343\005@s\026\003dd\001lZdd\001l\001Z\001d\002e_\002e\001\240\003d\003\241\001\001e\240\004d\004d\005\241\002\001e\240\004d\006d\a\241\002\001e\240\004d\bd': command not found
./clicky.pyc: line 1: $'B\r\r': command not found
./clicky.pyc: line 2: $'\331p
./clicky.pyc: line 3: unexpected EOF while looking for matching ``'
./clicky.pyc: line 7: syntax error: unexpected end of file
It also does not auto-play if I try this:-
[cnd@uvm ~]$ ./atbswpv0.3.0-linux clicky.pyc
Please...
a) Document what "Compile to exe" actually is/does
b) Make it work so that I can save something and then run a command to play it back :-)
( I assume (b) exists, but it's not documented on the project homepage... )
When attempting to install on Ubuntu 18.04.4 LTS using the instructions it ends in a Segmentation Fault, with no further information as to what went wrong.
Python version
Python 3.6.9 64-bit
sudo apt install git python3-dev python3-tk python3-setuptools python3-wheel python3-pip python3-wxgtk4.0
python3 -m pip install -r requirements-dev.txt
Installing collected packages: altgraph, attrs, chardet, urllib3, certifi, idna, requests, msgpack, CacheControl, cachy, pycparser, cffi, pastel, pylev, clikit, cleo, six, cryptography, webencodings, html5lib, more-itertools, zipp, importlib-metadata, jeepney, setuptools, pyrsistent, jsonschema, SecretStorage, keyring, lockfile, Pillow, python3-xlib, pyperclip, MouseInfo, numpy, ptyprocess, pexpect, pkginfo, shellingham, tomlkit, pyparsing, requests-toolbelt, poetry, PyMsgBox, PyScreeze, PyTweening, PyRect, PyGetWindow, PyAutoGUI, PyInstaller, python-xlib, pynput Successfully installed CacheControl-0.12.5 MouseInfo-0.1.2 Pillow-6.2.2 PyAutoGUI-0.9.48 PyGetWindow-0.0.8 PyInstaller-3.6 PyMsgBox-1.0.7 PyRect-0.1.4 PyScreeze-0.1.25 PyTweening-1.0.3 SecretStorage-3.1.1 altgraph-0.16.1 attrs-19.3.0 cachy-0.3.0 certifi-2019.11.28 cffi-1.13.2 chardet-3.0.4 cleo-0.7.6 clikit-0.4.1 cryptography-2.8 html5lib-1.0.1 idna-2.8 importlib-metadata-0.23 jeepney-0.4.1 jsonschema-3.2.0 keyring-19.3.0 lockfile-0.12.2 more-itertools-8.0.2 msgpack-0.6.2 numpy-1.17.4 pastel-0.1.1 pexpect-4.7.0 pkginfo-1.5.0.1 poetry-1.0.0 ptyprocess-0.6.0 pycparser-2.19 pylev-1.3.0 pynput-1.6.0 pyparsing-2.4.5 pyperclip-1.7.0 pyrsistent-0.14.11 python-xlib-0.26 python3-xlib-0.15 requests-2.22.0 requests-toolbelt-0.8.0 setuptools-46.1.3 shellingham-1.3.1 six-1.14.0 tomlkit-0.5.8 urllib3-1.25.8 webencodings-0.5.1 zipp-0.6.0 Segmentation Fault (memorydump created)
Hi there,
using the latest version of atbswp, manual recording and playback works well.
The issue is that the hotkeys doesn't work at all.
my system is Linux Mint 19 based on Ubuntu 18.04
This software is amazing, solving this issue would make thing better.
waiting for your reply
PASTE VERBOSE LOG HERE
Linux 5.10.42-1-MANJARO
KDE Plasma, KWin (X11)
3.9.5
How can I make it ignore mouse inputs and only record/play back keyboard inputs?
Whenever I press record and then switch windows, it includes the mouse movement made to do that and every time it loops it adds that unnecessary mouse motion which wastes time
It would nice to be able to have indented blocks in the macro scripts e.g. for loops. I'd rather keep the script clean and use a loop for repetitive actions, but it seems that when reading the script atbswp strips out indents, example script below:
import pyautogui
import time
pyautogui.FAILSAFE = False
iterations = list(range(1, 100))
pyautogui.keyDown('ctrlleft')
pyautogui.keyDown('1')
pyautogui.keyUp('1')
pyautogui.keyUp('ctrlleft')
for iteration in iterations:
pyautogui.keyDown('e')
pyautogui.keyUp('e')
pyautogui.keyDown('e')
pyautogui.keyUp('e')
time.sleep(1)
pyautogui.keyDown('ctrlleft')
pyautogui.keyDown('0')
pyautogui.keyUp('0')
pyautogui.keyUp('ctrlleft')
time.sleep(60)
I believe I've indented the for loop block correctly however attempting to run the script with atbswp gives the following error:
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/usr/lib/python3.9/threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "/home/damon/Projects/macros/atbswp/atbswp/control.py", line 388, in play
exec(line)
File "<string>", line 1
for iteration in iterations:
^
IndentationError: expected an indented block
Running the python script directly via python3 works which indicates that the problem is caused by atbswp stripping the indentation, however I would like to be able to make use of atbswp's hotkeys, repeat and infinite replay features when running these scripts so running them directly isn't really a good option.
N/A
N/A
N/A
Any
Any
Be able to start this with docker ?
If this is something that match the roadmap, i can take the ticket 😃
#!/bin/env python3
# Created by atbswp (https://github.com/rmpr/atbswp)
# on 05 Nov 2020
import pyautogui
import time
pyautogui.FAILSAFE = False
pyautogui.moveTo(1087, 812)
pyautogui.mouseDown(565, 342, 'left')
pyautogui.mouseUp(565, 342, 'left')
time.sleep(2)
pyautogui.mouseDown(906, 338, 'left')
pyautogui.mouseUp(906, 338, 'left')
time.sleep(1)
pyautogui.mouseDown(829, 498, 'left')
pyautogui.mouseUp(829, 498, 'left')
time.sleep(1)
pyautogui.mouseDown(867, 651, 'left')
pyautogui.mouseUp(867, 651, 'left')
time.sleep(2)
pyautogui.mouseDown(941, 200, 'left')
pyautogui.mouseUp(941, 200, 'left')
time.sleep(1)
Linux Mageia 8
Plasma
Python 3.8.7
The strings of the pop-up "Repeat Count" are not translated ("Repeat Count" and "Choose a repeat count").
PASTE VERBOSE LOG HERE
Ubuntu 18.04
Gnome 3.28
Write here
Everything works fine but i can't find out how to replay the capture at the same speed as i record, not faster.
Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Faba/16x16/status/image-missing.svg: Unable to load image-loading module: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: cairo_font_options_get_variations (gdk-pixbuf-error-quark, 5)
Aborted (core dumped)
Ubuntu 20.04
Budgie
Python 3.8.2
Load, save, and compile cause atbswp to crash
I use the latest release of atbswp
#!/bin/env python3
# Created by atbswp v0.3.1 (https://git.sr.ht/~rmpr/atbswp)
# on 01 Jul 2021
import pyautogui
import time
pyautogui.FAILSAFE = False
pyautogui.moveTo(699, 228)
pyautogui.moveTo(699, 267)
pyautogui.moveTo(700, 298)
pyautogui.moveTo(700, 330)
pyautogui.moveTo(700, 351)
pyautogui.moveTo(700, 375)
pyautogui.mouseDown(700, 379, 'left')
pyautogui.mouseUp(700, 379, 'left')
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.keyDown('space')
pyautogui.moveTo(700, 354)
pyautogui.keyUp('space')
pyautogui.moveTo(700, 333)
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.moveTo(698, 311)
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.keyDown('space')
pyautogui.keyUp('space')
pyautogui.moveTo(696, 288)
pyautogui.keyDown('space')
pyautogui.moveTo(700, 267)
pyautogui.keyUp('space')
pyautogui.keyDown('space')
pyautogui.moveTo(712, 243)
pyautogui.keyUp('space')
pyautogui.moveTo(733, 224)
pyautogui.moveTo(730, 203)
pyautogui.moveTo(722, 177)
pyautogui.moveTo(709, 155)
pyautogui.mouseDown(702, 144, 'left')
pyautogui.mouseUp(702, 144, 'left')
pyautogui.moveTo(734, 150)
pyautogui.moveTo(755, 150)
pyautogui.moveTo(778, 150)
pyautogui.moveTo(799, 153)
pyautogui.moveTo(820, 162)
pyautogui.moveTo(841, 174)
pyautogui.moveTo(819, 194)
pyautogui.moveTo(794, 205)
pyautogui.moveTo(772, 212)
pyautogui.moveTo(751, 216)
pyautogui.moveTo(728, 208)
pyautogui.moveTo(706, 199)
pyautogui.moveTo(685, 197)
pyautogui.moveTo(663, 202)
pyautogui.moveTo(655, 223)
pyautogui.moveTo(678, 234)
pyautogui.moveTo(699, 227)
pyautogui.moveTo(707, 206)
Manjaro
XFCE
Python 3.9
Traceback (most recent call last):
File "/home/sakshamk/atbswp/atbswp/control.py", line 89, in load_file
self._capture = self.load_content(dlg.GetPath())
File "/home/sakshamk/atbswp/atbswp/control.py", line 78, in load_content
return f.read()
File "/usr/lib/python3.9/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 9: invalid continuation byte
on running a capture file
./capture.pyc: line 1: $'a\r\r': command not found
./capture.pyc: line 3: syntax error near unexpected token `$'\001\001iR\002iP\001\001iC\002il\001\001i''
./capture.pyc: line 3: `d
�e�d
�e�dd�e�dd�e�ddd�e�ddd�e�d�ed�e�dd�e�dd�e�d�de�dd�e�dd�e�d d!�e�d"d �e�d#d$�dS)%�NF��home� backspacei���i���iv�i`i(iRiPiCili;iz�left�enterijiSi�i?i�i3i�i%i�ii���i�i���) � pyautogui�timeFAILSAFE�sleep�keyDown�moveTo� mouseDown�mouseUp�keyUp�rr�/tmp/atbswp-20210701<module>'.
[sakshamk@saksham-hpelitebookfolio9470m ~]$ chmod +x capture.pyc
[sakshamk@saksham-hpelitebookfolio9470m ~]$ ./capture.pyc
./capture.pyc: line 1: $'a\r\r': command not found
./capture.pyc: line 3: syntax error near unexpected token `$'\001\001iR\002iP\001\001iC\002il\001\001i''
./capture.pyc: line 3: `d
�e�d
�e�dd�e�dd�e�ddd�e�ddd�e�d�ed�e�dd�e�dd�e�d�de�dd�e�dd�e�d d!�e�d"d �e�d#d$�dS)%�NF��home� backspacei���i���iv�i`i(iRiPiCili;iz�left�enterijiSi�i?i�i3i�i%i�ii���i�i���) � pyautogui�timeFAILSAFE�sleep�keyDown�moveTo� mouseDown�mouseUp�keyUp�rr�/tmp/atbswp-20210701<module>'.
and this error on trying to run the exe
This was the most voted feature in the poll in the Telegram channel t.me/atbswp
is possibile to add mouse speed on record?
will be great
thanks
#!/bin/env python3
# Created by atbswp v0.3.1 (https://git.sr.ht/~rmpr/atbswp)
# on 13 Jun 2022
import pyautogui
import time
pyautogui.FAILSAFE = False
time.sleep(0.6133713150047697)
pyautogui.moveTo(207, 65)
time.sleep(0.08379147299274337)
time.sleep(1.4232727299968246)
time.sleep(0.003676260996144265)
time.sleep(0.002978334014187567)
time.sleep(0.0029565089935204014)
time.sleep(0.001885089004645124)
time.sleep(0.003181070991558954)
time.sleep(0.0018973480036947876)
time.sleep(0.0018872159998863935)
time.sleep(0.0010390910028945655)
time.sleep(0.001028633996611461)
time.sleep(0.0020948610035702586)
time.sleep(0.0019649140012916178)
time.sleep(0.0020572929934132844)
time.sleep(0.0018710540025494993)
time.sleep(0.0021020169951952994)
time.sleep(0.00197782700706739)
time.sleep(0.0007020479970378801)
time.sleep(0.002391147005255334)
time.sleep(0.0018803709972416982)
pyautogui.moveTo(210, 86)
time.sleep(0.0020315739966463298)
time.sleep(0.0019724589947145432)
time.sleep(0.0009395710076205432)
time.sleep(0.002016690996242687)
time.sleep(0.0019503110088407993)
time.sleep(0.0021708159911213443)
time.sleep(0.0010078610066557303)
time.sleep(0.000730567000573501)
time.sleep(0.0020781659986823797)
time.sleep(0.001947869997820817)
time.sleep(0.001954993000254035)
time.sleep(0.00197129299340304)
time.sleep(0.0020398000051500276)
time.sleep(0.0018754009943222627)
time.sleep(0.0020059790113009512)
time.sleep(0.0019657839875435457)
time.sleep(0.0021135340066393837)
pyautogui.moveTo(215, 107)
time.sleep(0.0021887290058657527)
time.sleep(0.0009660759969847277)
time.sleep(0.00200208299793303)
time.sleep(0.0020340259943623096)
time.sleep(0.00303109000378754)
time.sleep(0.0009324760030722246)
time.sleep(0.0009034300019266084)
time.sleep(0.0021687129919882864)
time.sleep(0.002796005006530322)
time.sleep(0.002169510000385344)
time.sleep(0.0010303320013917983)
time.sleep(0.0019470229890430346)
time.sleep(0.002118035001331009)
time.sleep(0.002939637008239515)
time.sleep(0.0018640069902176037)
time.sleep(0.001990207005292177)
time.sleep(0.002100601006532088)
time.sleep(0.002109166991431266)
time.sleep(0.0020329999970272183)
time.sleep(0.0019746820034924895)
time.sleep(0.002023048000410199)
pyautogui.moveTo(221, 129)
time.sleep(0.001959599001565948)
time.sleep(0.0008374570024898276)
time.sleep(0.0011336769966874272)
time.sleep(0.0019229839963372797)
time.sleep(0.0009729529992910102)
time.sleep(0.0010279380076099187)
time.sleep(0.002096480006002821)
time.sleep(0.000989334992482327)
time.sleep(0.0009876330004772171)
time.sleep(0.0008636010024929419)
time.sleep(0.0011949339968850836)
time.sleep(0.0009156769956462085)
pyautogui.moveTo(225, 150)
time.sleep(0.0009425330063095316)
time.sleep(0.0009975639986805618)
time.sleep(0.0009454079990973696)
time.sleep(0.00117459699686151)
time.sleep(0.0009279560035793111)
time.sleep(0.0009578659955877811)
time.sleep(0.001067372999386862)
time.sleep(0.0010145240084966645)
time.sleep(0.00103329899138771)
time.sleep(0.0007966570119606331)
pyautogui.moveTo(229, 171)
time.sleep(0.0012004649906884879)
time.sleep(0.000971702000242658)
time.sleep(0.0010014559957198799)
time.sleep(0.0009179760090773925)
time.sleep(0.0011581849976209924)
time.sleep(0.0008842469978844747)
time.sleep(0.0009497569990344346)
time.sleep(0.0009353600034955889)
pyautogui.moveTo(233, 193)
time.sleep(0.0012179899931652471)
time.sleep(0.000943927007028833)
time.sleep(0.0009600600023986772)
time.sleep(0.0008514679939253256)
time.sleep(0.0011096250091213733)
time.sleep(0.0010426859953440726)
time.sleep(0.000998952004010789)
pyautogui.moveTo(239, 214)
time.sleep(0.0009406239987583831)
time.sleep(0.0009282469982281327)
time.sleep(0.0011189450015081093)
time.sleep(0.001132933990447782)
time.sleep(0.0009482620080234483)
time.sleep(0.0008567420009057969)
time.sleep(0.0011276829900452867)
pyautogui.moveTo(245, 236)
time.sleep(0.0020196330006001517)
time.sleep(0.0009148480021394789)
time.sleep(0.0010617770021781325)
time.sleep(0.0008098139951471239)
time.sleep(0.0011420670052757487)
time.sleep(0.0009339560056105256)
time.sleep(0.0009894669929053634)
pyautogui.moveTo(250, 257)
time.sleep(0.0009851990034803748)
time.sleep(0.0010783530015032738)
time.sleep(0.0009402750001754612)
time.sleep(0.0011007510038325563)
time.sleep(0.0008910409960662946)
time.sleep(0.0010739499994087964)
time.sleep(0.0008808379934635013)
time.sleep(0.0011377300106687471)
time.sleep(0.0009511979878880084)
pyautogui.moveTo(260, 279)
time.sleep(0.0011040450044674799)
time.sleep(0.0007965520053403452)
time.sleep(0.0011218839936191216)
time.sleep(0.0010391880059614778)
time.sleep(0.0010095299949171022)
time.sleep(0.0008106349996523932)
time.sleep(0.001183996006147936)
time.sleep(0.0009931429958669469)
time.sleep(0.001028054000926204)
time.sleep(0.0009460949950153008)
time.sleep(0.0009366489975946024)
time.sleep(0.0009959650051314384)
pyautogui.moveTo(268, 300)
time.sleep(0.0009484750044066459)
time.sleep(0.0012378940009512007)
time.sleep(0.000922124003409408)
time.sleep(0.000998178991721943)
time.sleep(0.001971521007362753)
time.sleep(0.0010095170000568032)
time.sleep(0.002003422996494919)
time.sleep(0.0008621570013929158)
time.sleep(0.0010001479968195781)
time.sleep(0.0009968209924409166)
time.sleep(0.001161779000540264)
time.sleep(0.0008765240054344758)
time.sleep(0.0011091210035374388)
time.sleep(0.0009946729987859726)
time.sleep(0.0020544209983199835)
pyautogui.moveTo(278, 322)
time.sleep(0.0019738239934667945)
time.sleep(0.000978752999799326)
time.sleep(0.004012069999589585)
time.sleep(0.0020063360134372488)
time.sleep(0.0009755299979588017)
time.sleep(0.004041981999762356)
time.sleep(0.00702807899506297)
time.sleep(2.1779785380058456)
pyautogui.keyDown('&')
pyautogui.keyUp('&')
time.sleep(0.4231005030014785)
pyautogui.keyDown('é')
pyautogui.keyUp('é')
time.sleep(0.48796305699215736)
pyautogui.keyDown('"')
pyautogui.keyUp('"')
time.sleep(1.9282455640059197)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
time.sleep(0.4959833859902574)
pyautogui.keyDown('a')
pyautogui.keyUp('a')
time.sleep(0.32002127400483005)
pyautogui.keyDown('z')
pyautogui.keyUp('z')
time.sleep(0.30387554099434055)
pyautogui.keyDown('e')
pyautogui.keyUp('e')
time.sleep(0.3919776030088542)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
time.sleep(0.33610714400128927)
pyautogui.keyDown('q')
pyautogui.keyUp('q')
time.sleep(0.29594229700160213)
pyautogui.keyDown('s')
pyautogui.keyUp('s')
time.sleep(0.34395060999668203)
pyautogui.keyDown('d')
pyautogui.keyUp('d')
time.sleep(0.37608464299410116)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
time.sleep(0.335962979006581)
pyautogui.keyDown('w')
pyautogui.keyUp('w')
time.sleep(0.3200266769999871)
pyautogui.keyDown('x')
pyautogui.keyUp('x')
time.sleep(0.36009223900327925)
pyautogui.keyDown('c')
pyautogui.keyUp('c')
time.sleep(2.2480142610002076)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
time.sleep(0.35180241298803594)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
time.sleep(2.008253174004494)
pyautogui.keyDown('shiftright')
time.sleep(0.9920619990007253)
pyautogui.keyDown('1')
pyautogui.keyUp('1')
time.sleep(0.3199243290000595)
pyautogui.keyDown('2')
pyautogui.keyUp('2')
time.sleep(0.3278413929947419)
pyautogui.keyDown('3')
pyautogui.keyUp('3')
pyautogui.keyUp('shiftright')
time.sleep(1.327996282998356)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
time.sleep(0.5282551150012296)
pyautogui.keyDown('shiftright')
time.sleep(0.3518782380124321)
pyautogui.keyDown('A')
pyautogui.keyUp('A')
time.sleep(0.28788526899006683)
pyautogui.keyDown('Z')
pyautogui.keyUp('Z')
time.sleep(0.2801284160086652)
pyautogui.keyDown('E')
pyautogui.keyUp('E')
pyautogui.keyUp('shiftright')
time.sleep(0.5440403039974626)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
time.sleep(0.44805040599021595)
pyautogui.keyDown('shiftright')
time.sleep(0.2798444440122694)
pyautogui.keyDown('Q')
pyautogui.keyUp('Q')
time.sleep(0.263982106000185)
pyautogui.keyDown('S')
pyautogui.keyUp('S')
time.sleep(0.27195899200160056)
pyautogui.keyDown('D')
pyautogui.keyUp('D')
pyautogui.keyUp('shiftright')
time.sleep(0.44003718199383)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
time.sleep(0.49602573399897665)
pyautogui.keyDown('shiftright')
time.sleep(0.6241652879980393)
pyautogui.keyDown('W')
pyautogui.keyUp('W')
time.sleep(0.2879983640013961)
pyautogui.keyDown('X')
pyautogui.keyUp('X')
time.sleep(0.3041085090080742)
pyautogui.keyDown('C')
pyautogui.keyUp('C')
pyautogui.keyUp('shiftright')
time.sleep(2.8320048499881523)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
time.sleep(0.43976241700875107)
pyautogui.keyDown('enter')
pyautogui.keyUp('enter')
time.sleep(1.5691785369999707)
time.sleep(0.002820320994942449)
time.sleep(0.01100809799390845)
time.sleep(0.006994846000452526)
time.sleep(0.009995667001930997)
time.sleep(0.03212008900300134)
time.sleep(0.024901059005060233)
time.sleep(0.08000263999565504)
time.sleep(0.0019772149971686304)
time.sleep(0.04300347600656096)
Ubuntu 20.04
Awesome WM
3.8.10
Hi,
first, I'm using an azerty (French) keyboard.
And basically, what I typed :
&é"
aze
qsd
wxc
123
AZE
QSD
WXC
What it renders :
!#
qwe
asd
zxc
!@#
QWE
ASD
ZXC
Please note I omitted unnecessary lines (time.sleep...) from the log.
Thx
PASTE VERBOSE LOG HERE
Windows
WRITE DESCRIPTION HERE
When I try to download, it says that the program contains: Trojan:Win32/Zpevdo.B and restricts the download.
Along with #10, this has been requested a lot.
Hello
BUYMEACOFFEE page does not work anymore
:)
PASTE VERBOSE LOG HERE
Write here
Nixos
Write here
Xmonad
Write here
python3.9
WRITE DESCRIPTION HERE
Is there anyone who tried installing this on nixos?
PS C:\Tools\atbswp> python.exe .\atbswp\atbswp.py
Traceback (most recent call last):
File "C:\Tools\atbswp\atbswp\atbswp.py", line 32, in OnInit
self.main = gui.MainDialog(None, wx.ID_ANY, "atbswp")
File "C:\Tools\atbswp\atbswp\gui.py", line 133, in __init__
self.icon = wx.Icon(os.path.join(self.path, "img", "icon.png"))
wx._core.wxAssertionError: C++ assertion "strcmp(setlocale(0, 0), "C") == 0" failed at ..\..\src\common\intl.cpp(1694) in wxLocale::GetInfo(): You probably called setlocale() directly instead of using wxLocale and now there is a mismatch between C/C++ and Windows locale.
Things are going to break, please only change locale by creating wxLocale objects to avoid this!
OnInit returned false, exiting...
Windows 10
Windows 10
3.9.7
On Linux, atbswp works fine, on Windows if I try to run atbswp.py as per instructions I get a wxLocale mismatch problem. You may tell me that this is a wxLocale issue, but I hope anybody has seen this issue and may help. Thank you
It would be nice if exported executables supported an option for replaying X amount of times and/or indefinitely like you can do with the GUI
Assigned them to different F2-F12 keys, but nothing happens after pressing those, even if the main window of your app is active.
BTW, would be great, if it would be possible to assign keyboard shortcuts other than F2-F12.
Happens on Ubuntu 19.10.
Manjaro Linux
XFCE
3.9.1
I have ran README suggested installation commands:
git clone https://github.com/RMPR/atbswp.git && cd atbswp
python3 -m pip install pyautogui pynput --user
python3 atbswp/atbswp.py
"NOTE: You must install tkinter on Linux to use MouseInfo. Run the following: sudo apt-get install python3-tk python3-dev"
$ pamac search -a python-tk
python-tkfontchooser 2.0.2-1 AUR
python-tkfilebrowser 2.3.2-2 AUR
python-tkencfs-git 0.9.r8.g081e649-1 AUR
python-tkcolorpicker 2.1.3-1 AUR
python-tkcalendar 1.6.1-1 AUR
regarding python3-dev i have found “python-devtools” so i have tried to install only python-devtools (i do not know which *tk package is right one) and the result is “A failure occurred in check(). AssertionError”
Please which packages i need to install on Arch/Manjaro? What to search in package manager?...
I recorded some actions all works good
Saved to file using button save to exec
after that I did chmod +x to record.pyc
run it from terminal ./record.pyc
got error
./capture.pyc: line 1: $'B\r\r': command not found
./capture.pyc: line 2: unexpected EOF while looking for matching ``'
./capture.pyc: line 8: syntax error: unexpected end of file
I want to run capture as separate script
how did i pause the recording i tried with fn or fin+f2 and nothing
The only thing that helps is to force quit the app.
Happens on Ubuntu 19.10.
BTW, love your app, many thanks!
#!/bin/env python3
# Created by atbswp (https://github.com/rmpr/atbswp)
# on 20 Jun 2020
import pyautogui
import time
pyautogui.FAILSAFE = False
pyautogui.moveTo(776, 661)
pyautogui.mouseDown(776, 661, 'left')
puyautogui.mouseUp(776, 661, 'left')
time.sleep(0.8)
pyautogui.mouseDown(776, 661, 'left')
pyautogui.mouseUp(776, 661, 'left')
time.sleep(0.8)
pyautogui.mouseDown(776, 661, 'left')
pyautogui.mouseUp(776, 661, 'left')
time.sleep(0.8)
pyautogui.mouseDown(776, 661, 'left')
pyautogui.mouseUp(776, 661, 'left')
time.sleep(0.8)
pyautogui.mouseDown(776, 661, 'left')
pyautogui.mouseUp(776, 661, 'left')
time.sleep(0.8)
pyautogui.mouseDown(776, 690, 'left')
pyautogui.mouseUp(776, 690, 'left')
time.sleep(1.5)
pyautogui.mouseDown(798, 820, 'left')
pyautogui.mouseUp(798, 820, 'left')
xUbuntu 20.04
xfce
Python 3.8.2
I cannot find a way to set a keyboard shortcut for "Play/pause" button.
When you record a task is useful to have a play faster button, as the idea of the recorder is to make work simple,
The playback fast button is not working.
I dont understand if this program is obsolete as i also see open issues from more than 2 year ago related to this topic,
Let us know if you arent working on this more,
Thanks in advance,
Hello, try to run a simple script that open a web browser link at startup, the script runs good from terminal but not from crontab.
@reboot python3 /home/pi/Downloads/test.py >>/home/pi/log.text 2>&1
the script runs at startup but i have the follow error log:
Traceback (most recent call last):
File "/tmp/atbswp-20210204", line 4, in
File "/home/pi/.local/lib/python3.7/site-packages/pyautogui/init.py", line 241, in
import mouseinfo
File "/home/pi/.local/lib/python3.7/site-packages/mouseinfo/init.py", line 223, in
_display = Display(os.environ['DISPLAY'])
File "/usr/lib/python3.7/os.py", line 678, in getitem
raise KeyError(key) from None
KeyError: 'DISPLAY'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.