Skip to content

Tags: Jordens1/TagUI-Python

Tags

v1.15.0

Toggle v1.15.0's commit message
tebelorg#71 - bug fix for select(), change to exact match

fix implemented upstream, see tebelorg#71 for details

v1.14.0

Toggle v1.14.0's commit message
tebelorg#36 - deploy on PCs without internet

see issue tebelorg#36 for details

v1.13.0

Toggle v1.13.0's commit message
tebelorg#62 - support changing directory halfway

See tebelorg#62 for more details

v1.12.0

Toggle v1.12.0's commit message
tebelorg#57 - clipboard() to get or put text

Follow-up commit to let both single and double quotes work properly if trying to put text to clipboard containing quotation marks.

---

To put text to clipboard or get clipboard text. See issue tebelorg#57 for details

v1.11.0

Toggle v1.11.0's commit message
tebelorg#50 - follow-up to frame()

sync upstream code-fix logic for frame step

v1.10.0

Toggle v1.10.0's commit message
tebelorg#36 tebelorg#50 tebelorg#52 - added frame() & popup(), fixed …

…snap() & read()

tebelorg#36 - add link to license in tagui.py to facilitate air-gap deployments (without internet access to pip)

# 50 - add frame() function to access web page frames (supports main frame and sub frame). add popup() function to access webpage popup tabs launched from webpage.

tebelorg#52 - bugfix for snap() and read(), when 'page' is used to mean entire webpage a 'cannot find page' error message appears.

v1.9.0

Toggle v1.9.0's commit message
tebelorg#35 tebelorg#34 - cleaner execution and error handling

tebelorg#35 - Cleaner usage and execution without TagUI intermediary files

During usage, the following temporary files will be generated in order to use TagUI -

tagui_python - simple flow to initiate TagUI live mode
tagui_python.raw - raw file for TagUI module expansion
tagui_python.js - generated JavaScript code for TagUI
tagui_local.js - TagUI for Python custom functions file
tagui_python.log - log file for automation execution
tagui_python.txt - to retrieve data output from TagUI

When debug mode is on using debug(True), only tagui_python.log and tagui_python.txt will be retained while the rest are deleted. That essentially means that the first 4 files above do not really add value to the typical TagUI for Python user. Having them in the script folder during execution may add clutter, clunkiness and confusion.

Furthermore, TagUI for Python has been downloaded over 5000 times since initial release, without users reporting issue that requires above 4 temporary files for debugging and troubleshooting.

Raising issue to update code to immediately delete the first 4 files upon connecting to TagUI to remove clutter. For the last 2 files, they will be retained until close() is used, where they will be deleted if debug(False) (default).

tebelorg#34 - graceful error handling on Windows folder path with space

On Windows, if script is used in folder path name with space, error message can appear without any meaningful information.

Some components of upstream project TagUI cannot work with spaces in the path and folder name containing the TagUI automation script. Solution is store the script in a folder path without space, or run it from a folder path without space in it.

v1.8.0

Toggle v1.8.0's commit message
tebelorg#31 tebelorg#32 tebelorg#24 - bump readme to v1.8

tebelorg#31 - ask() shows the question in terminal window. This is not intuitive if automation is running on the Chrome browser and a prompt appears in terminal window to ask for user input. Raising an issue to update behaviour to show prompt in Chrome browser, if it's available. PS - similar issue exists if chrome_browser = False and visual_automation = True. The terminal may not be in the foreground during the automation flow to be visible for user inputs. However, there isn't a consistent way to show SikuliX popup with focus across platforms. Thus KIV for now.

tebelorg#32 - At present, if visual automation mode is not on and `snap('page.png', 'screenshot.png')` is used, there is no error message saying that `init(visual_automation = True)` is needed to use this. Raising an issue to show error message instead of hanging waiting for SikuliX response.

tebelorg#24 - readme linking to RedMart online groceries example to automate re-adding all items to cart (to reschedule delivery, need to cancel and create new order manually)

v1.7.0

Toggle v1.7.0's commit message
tebelorg#30 - fix timeout() hangs if no visual automation

There is a bug in the timeout step in upstream TagUI project (aisingapore/TagUI#497). When timeout() is used with visual_automation = False, it hangs indefinitely. Raising a PR for a new release that implements the bug-fix upstream.

v1.6.0

Toggle v1.6.0's commit message
tebelorg#18 - autoflush processes for dirty exit

It is possible that TagUI processes (main TagUI, integration background processes - SikuliX, Chrome, Chrome browser) are not exited cleanly under certain conditions. For eg, if user Ctrl+C to kill a TagUI for Python script, or if user forgets to use close() to gracefully close off the running processes.

These dead processes have insignificant impact to TagUI for Python functionality. However they can cause unnecessary drain on battery and CPU cycles. Raising this issue to make a commit that runs a TagUI script that flush all TagUI-related processes.

This will be run within init() so that an accidental Ctrl+C or forgetting to close() allows immediate resumption of use by relaunching Jupyter notebook or Python interactive shell or Python script, and using init(). Placing within close() is meaningless for the scenarios where dead processes happen.