iMacros Alternative: Open-Source & Free
iMacros to Ui.Vision Conversion Hints
Welcome iMacros users in search of iMacros alternatives: iMacros was one of the early heros in the web automation space. It was and is a great tool. Unfortunately its current owners first neglected and now "end-of-lifed" it.
Ui.Vision RPA stands out from iMacros by embracing the benefits of open-source software. Ui.Vision is free to use and open-source (GPL license). Ui.Vision's open-source nature ensures that it will not face the same fate as iMacros, which is no longer being developed. This makes Ui.Vision a stable, reliable and future-proof iMacros alternative for long-term web automation projects.
Converting iMacros automation projects to Ui.Vision is straightforward. On this page we give some hints. If you run into any issues, please ask in our RPA forum and use the tag imacros migration.We are ready to help. This iMacros-help-page is work in progress. We will expand it as we get feedback from you.
iMacros Scripting Interface - Free Alternative
The iMacros Scripting Interface is a paid feature of iMacros. With Ui.Vision (UIV) you get the same funtionality free. In the UIV RPA software the "scripting interface" is called command line API. You can map the iMacros Scripting commands (iimPlay etc) to the UIV command line. See also our RPA command line sample code on Github.
iMacros File Access addon - Free Alternative
The iMacros File Access addon is yet another paid feature of iMacros. With Ui.Vision (UIV) you get the this funtionality for free, too. To add native file access to Ui.Vision, simply install the XModule helper app. This native app does exactly what the iMacros "File Access" addon did, plus much more (such as desktop automation and OCR for RPA). And note that while the iMacros File Access module was only available for Windows, the Ui.Vision XModule supports Windows, Mac and Linux.
Convert iMacros macros to Ui.Vision macros
How to convert iMacros macros to UIV RPA macros: The table below lists the most common iMacros commands and their "translation" to UIV commands.
iMacros => Ui.Vision Commands Table
iMacros | Ui.Vision (UIV) | Comment |
---|---|---|
Variables format {{var}} | Variables format ${var} | Ui.Vision uses the Selenium variables format, which is more standard |
Built-in variables like "!TIMEOUT" | Ui.Vision has these, too! See the complete list: UIV Internal variables | |
TAG command | CLICK, SELECT, STOREVALUE,... | While the TAG command is used for many things, UIV as specific commands for each of these tasks. But everything TAG can do, UIV can do, too. We list some examples below. |
TAG POS=3... | In UIV the same is achieved by adding @pos=3 behind the locator | The POS attribute of iMacros tells the software which x-th match to use. |
TAG POS=1 TYPE=A ATTR=TXT:Advanced... | The UIV equivalent of the TYPE/ATTR parameters is the locator field. | The best way to create the locator is to simply re-record the iMacros macro inside UIV. UIV will automatically create a locator. |
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:ocrContactForm ATTR=ID:ContactName CONTENT=hello | Type | id=ContactName | hello | Form filling |
TAG POS=1 TYPE=SELECT FORM=ID:ocrContactForm ATTR=ID:WhatSoftware CONTENT=%OCRFree | Select |id=WhatSoftware | value=OCRFree | Select box |
TAG POS=1 TYPE=A ATTR=ID:btnContact | Click | id=btnContact | Button click |
TAG POS=1 TYPE=DIV ATTR=DATA-TESTID:link-viewer EXTRACT=TXT | storeText, storeValue, storeAttribute, storeTitle | See also web scraping Note that instead of iMacros #EANF# UIV uses #LNF "#LNF" stands for "Locator not found". |
TAG POS=1 TYPE=A ATTR=ID:ctl00_HyperLink1 EXTRACT=HREF | storeAttribute | id=ctl00_HyperLink1@href | Note the "@href" at the end of the locator. See also this iMacros 2 Ui.Vision project. |
TAG POS=1 TYPE=DIV ATTR=ID:mui-p-*-P-advanced EXTRACT=ID | storeAttribute | |
TAG POS=1 TYPE=IMG ATTR=CLASS:photoswipe EXTRACT=HTM | executeScript + outerHTML | You can recreate EXTRACT=HTM with executeScript and one line of Javascript. |
TAG POS=1 TYPE=A ATTR=TXT:Advanced | CLICK | linktext=Advanced | Click on link |
SET !ENCRYPTION NO | (Not required) | If a string does not start with __KANTU_ENCRYPTED__ it is automatically assumed to be unencrypted |
DirectScreen, EVENT, EVENTS and ImageSearch | The X... commands in UIV can do what the DirectScreen (DS) commands in iMacros did (and more, e. g. OCR/text recognition) | The free XModule native app and XClick are a powerful replacement of DirectScreen |
DS CMD=CLICK X={{!TAGX}} Y={{!TAGY}} | XClick | (locator) | !TagX/!TagY are not needed with UIV because you can use a HTML locator directly with XClick |
EVENT TYPE=click XPATH="div/div/input" BUTTON=0 | XCLICK | XPATH=/div/div/input | The best replacement for EVENT is XCLICK and XMOVE |
EVENTS TYPE=keypress XPATH="///div/input" CHARS=iMacros |
XTYPE XPATH=//div/input" | iMacros Alternative | |
IMAGESEARCH POS=3 IMAGE=results.png CONFIDENCE=80 ALGORITHM=B | visualAssert | results.png@0.8#3 | Another alternative is XClick, which combines image search with simulating a mouse click. |
IMAGESEARCH POS=3 IMAGE=no-results.png CONFIDENCE=80 ALGORITHM=B FAIL=YES | Use VisualSearch and Do...RepeatIf | See this forum post for details: How to wait for an image to disappear |
TAB Commands | Use selectWindow | With selectWindow you can open, close and switch to tabs just like with the iMacros TAB command |
TAB T=2 | selectWindow | TAB=2 | Switch between browser tabs. Works the same as in iMacros |
TAB OPEN | selectWindow | TAB=OPEN | url | This open a new tab and loads the "url" website in it. |
TAB CLOSE | selectWindow | TAB=CLOSE | Works the same as in iMacros |
Miscellaneous | ||
ONDOWNLOAD FOLDER={{downloadFolder}} FILE={{downloadFileName}} WAIT=YES | OnDownload | new file name | (wait for download to complete:) true/false | |
SET id {{!EXTRACT}} | Not needed | Imacros {{!EXTRACT}} is not needed in UIV, because you store the scraped value directly in a variable of your choice, here “var1” |
SET !FOLDER_DATASOURCE {{imageFolder}} | Not needed | In UIV you set the source folder on the XModule tab. It can not be changed inside the macro. |
SET !IGNORE_ELEMENTNOTFOUND YES | Set !errorignore yes | In UIV you can also check the success of each line by looking at the !statusOK internal variable |
SET !TIMEOUT_STEP 0 | Store | 0 | !TIMEOUT_WAIT | Similar to iMacros, UIV has many internal variables that you can use |
TAG... EVENT:FAIL_IF_FOUND | assertElementNOTPresent | This command triggers an error if the element IS found (imacros forum). |
EVAL (javascript) | executeScript | UIV also has a executeScript_Sandbox command, which runs Javascript outside the website. It is often the better replacement for EVAL. |
PROMPT | PROMPT | Same command as in iMacros |
URL GOTO | OPEN | Different name, but otherwise works the same as in iMacros |
SIZE X=500 Y=800 | setWindowsSize | 500x800 | Different name, but otherwise works the same as in iMacros (resizes browser window) |
SAVEITEM | SaveItem | Locator | Ui.Vision has the same command. See also this imacros post. |
SAVEAS TYPE=EXTRACT FOLDER=* FILE=mytable.csv | csvSave | mytable.csv | See also this imacros web scraping post. |
iimOpen, iimSet, iimDisplay, iimPlay, iimGetExtract, iimGetErrorText, iimClose | See command line API and iMacros forum | These are the iMacros Scripting Interface commands. In UI Vision you can achieve the same with the command line. The iMacros Scripting Interface is Windows-only, whereas the UIV command line works on Windows, Mac and Linux. |
If an important iMacros command is missing - or you have any other iMacros-to-UIV conversion question -, please let us know by posting in the RPA forum with the keyword imacros migration. We hope Ui.Vision becomes your open-source iMacros alternative.
Desktop Automation
Did you know? In addition to web automation (like iMacros), UIV can also be used for desktop automation and visual automation. And since UIV works on Windows, Mac and Linux, it is not only a great Windows automation software but also a Mac desktop automation tool and Linux automation software.
Text Recognition (OCR) and Screen Scraping
In addition to image search (like iMacros), UIV can also read text with local OCR. This can be used - for example - for visual screen scraping.
Conditionals (IF/THEN/ELSE decisions) and loops
Flow control: Unlike iMacros, Ui.Vision supports IF/THEN decisions and looping directly inside the macro! This allows you to automate more complex tasks.
Free iMacros to Ui.Vision macro conversion
Converting iMacros tasks to UIV is rather straight-forward and as a smart iMacros users you probably can do most of it quicky yourself. But if you get stuck at some part, here is our offer:
Post your iMacros macro in our user RPA forum, and we will create a working UIV macro for your free of charge! Of course, we can do that service only for websites that we have access to (so that it can be posted in the forum), and the macro must be of reasonable length. This offer applies to both, private and commercial projects.
If you need iMacros conversion help for more complicated projects or for macros that you can not share in a public forum, please contact us for an offer. Our UIV macro creation service can help.
See also
while, forEach, do...repeatIf, gotoIf, gotoLabel, Label, !statusOK, !errorIgnore, Web Automation Extension User Manual, Selenium IDE commands, Selenium IDE Flow Control (SelBlocks),
Anything wrong or missing on this page? Suggestions?
...then please contact us.