Search

Web UI Node

Last Updated: May 10, 2022

Articles

I am unable to start the recording in the Web UI node, get the error message as "Jiffy Extension in Google Chrome is not enabled".
Image description

Perform the following steps to enable Jiffy extension.

  1. Navigate to Chrome extensions(chrome://extensions/) and check if the JIFFY extension is enabled.
    1. If not enabled, enable the same.
    2. Restart the Google Chrome browser and start the recording.
  2. Image description
  3. If after enabling the Chrome extension the error persists, check if the file ChromeUILearnNativeMessagePump.exe exists in path C:\jiffyservice\CommonFiles\UILearnChromePlugin\host.
    1. If a backup file(ChromeUILearnNativeMessagePump_backup.exe) exists, rename the file to ChromeUILearnNativeMessagePump.exe.
    2. Restart the bot after the changes are made and start the recording.
  4. If error persists, replace the Jiffy extension.
    1. Enable the developer mode if it is not enabled, refresh the Chrome://extensions page.
    2. Remove the current jiffy extension.
    3. Drag the Jiffy_chrome_extension.crx file from C:\jiffyservice\CommonFiles\ChromeExtension and drop it in the chrome extension section of the Google Chrome browser.
    4. Restart the Google Chrome browser and start the recording.

I am unable to record using JiffyUILearn when I hover the mouse cursor on the UI element to be recorded and press CTRL key on keyboard nothing happens. The UI element is not getting highlighted in red color and listed.

This can occur due to multiple reasons:
  1. Check if the developer mode is enabled for chrome extension, if not enable the same and restart the browser. Image description
  2. Ensure that you have selected the screen in Jiffy UILearn dialog box, in the screenshot below. Either select the existing Screen available in the dropdown or you can type a screen name you want to give, and it creates a new screen. Image description

While executing Web UI node that has web table extraction, I get the error “Element Not Found“. Image description

This error can occur due to multiple reasons:

  1. The search result is empty: Check if the search result on the website fetches any data. Search manually with the same inputs and ensure data is fetched. Else change the inputs for which data is available in the search result.
  2. Add a step for Delay using predefined function Delay In Seconds, provisioning time for data to load completely on the webpage before the element is read.
  3. The control has not moved to the new tab: Use the function Switch tab in the browser to navigate the control to the new tab before performing the steps on the controls in the new tab.

While executing Web UI node that has web table extraction, I get the error “List index out of range”. Image description

This error can occur due to multiple reasons:

  1. No Data in the provided Index position: Check if the data is available in the row/column number provided. Change the index to get the available data.
  2. Add a step for Delay using predefined function Delay In Seconds, provisioning time for data to load completely on the webpage before the element is read.

During execution of Web UI node with Image/Text Recording, I get an error “Task cannot be executed. Current screen width: 1536 or Height 864 is different from the Learned Width 1920 or Height 1080”. Image description

This error occurs when the resolution of your machine is different from the resolution while the elements were recorded.
Check if the layout is set to 100% in the display settings. (Refer to the following snapshot).
Check the Display resolution is the same as mentioned in the error for the learned element Width 1920 or Height 1080. If not change the values.
If the error persists, change the resolution to 100% and re-record the element. Image description

I need to add a few more elements to an existing WebUI node. When I start recording, I am highlighting the element and pressing the CTRL Key but it is not getting recorded. Image description

Ensure Screen in which you want to add elements is selected in the UI Learn dialog box.

When I try to record the data from Web UI node row-wise, I am getting the warning “Elements might not be correlated”. Image description

This error occurs when after recording the first-row element of the first column, you record the row element of the second column directly. For Web Table recording, for the first column, you need to select two row elements.
Ensure the first column data is displayed on the Table learning screen, then record the second column.
Click here to know more about Web Table recording.

I am using Iterations in WebUI node using the Iterate-on option. It gives an error “Not a table object". Image description

Iterate-on requires a Table type variable as an input. This error occurs if the variable is not of type Table. By default, when the Data table is mapped from preceding node it gets mapped as a text type variable.
In the Variable tab, change it to Table type and select suitable Table Definition and rerun the task.

I have an issue with the recording of the UI node. The issue is when I type into input element of these websites and the element searched is not first in the list, for example, while recording the following element: Image description
For such cases where there can be multiple search results, provide the complete name as follows. Image description

Google Chrome tab is closing unexpectedly while executing the task execution with WebUI node.

The Properties Close Application, Close Application on Error are available for Web UI node. If they are toggled ON, the chrome browser will close after execution or on error. Toggle them to OFF if you want the browser to remain open.

I recorded a Dropdown element, but in Actions, I am not finding 'Select' to pass the values. How do I automate in such scenarios?

If the dropdown element recorded is of type Select:

  1. Choose the action as Select.
  2. Provide data to be selected in the dropdown as input or pass parameters for the value to be selected.

If the type of the control recorded is not Select, in actions Select option will not be there. Image description
In such cases, you need to handle this element dynamically. To know more about Dynamic Scripting, click here.
Use below given dynamic script for the dropdown element.

dr=self.engine.get_driver()
xpath="{ElementXpath}"
ele=dr.find_elements_by_xpath(xpath)
return ele[0].click()

  • Replace the {ElementXpath} with the XPath of the recorded drop-down.
  • Choose the action as Click and provide input for the element that is made dynamic. You can also pass parameters here.
Image description

The script works only for elements whose XPath remains unchanged.

When executing Web UI node, if you get an error “Chrome not reachable…..” or task execution hangs or Chrome browser does not open. Image description
Change the properties of below Chrome Flags

  1. Launch Google Chrome in the default profile.
  2. Navigate to the URL: chrome://flags/#calculate-native-win-occlusion.
  3. Select Disabled from the drop-down.
  4. Image description
  5. Navigate to chrome://flags/#intensive-wake-up-throttling.
  6. Select Disabled from the drop-down. Image description
  7. Click the Relaunch button or close and start Google Chrome.
  8. Navigate to the chrome://flags and verify the flag values are set.
  9. Rerun the task.

In UI automation, I am unable to perform control-based familiarization for an element. I am unable to pass actions to the elements.

You can perform the required actions on these elements using the user defined function Send_Keys.
Create a User Defined function Send_Keys of type UI with the following inputs:

  • Variables: Add an input variable
  • Output Available: Disable
  • Function:


    import clr
    clr.AddReference("System.Windows.Forms")
    from System.Windows.Forms import SendKeys
    import time
    time.sleep(1)
    SendKeys.SendWait(input)

Image description Refer to modifiers to pass the keys as input to the function. Image description

The variable is not listed for Iterate on option, although the variable is mapped from the preceding node. Image description Image description

This occurs when variables Type is not changed to Table. Iterate on requires a Table type variable as an input. By default, when the Datatable is mapped from preceding node it gets mapped as a Text type variable.
In the Variable tab, change it to Table type and select suitable Table Definition.

During UI automation, when I try to upload a file using file upload button on a website, the task execution hangs.

This occurs when Allow access to file URLs option is not enabled for the chrome extension.
Enable the same to use file upload in chrome mode.

  1. Go to chrome://extensions. Image description
  2. Click the Details button in Jiffy Web Automation Extension.
  3. Enable Allow access to file URLs option.
Image description

While executing the WebUI node, I am getting the error as "Process exited with an error: 1 (Exit value: 1) [Error: importerror: dll load failed: %1 is not a valid win32 application.;] ". Image description

  1. Check if other versions of Python are installed that are coming with the Jiffy Client.
  2. Uninstall the other Jiffy Python versions and remove their paths in the environmental variables.
  3. Uninstall the jiffy client.
  4. Restart the machine.
  5. Re-install the jiffy client.

WebUI node fails with error message "stale element reference element is not attached to the page document…" error. Image description

This error occurs when the Chrome driver version does not match with the version of Chrome browser.

  1. Download the Chrome driver which is compatible with Chrome browser version.
  2. Use predefined function Delay In Seconds to add a 5 seconds delay, provisioning time for the element to load before the element click step in Actions tab.
  3. Rerun the Web UI node again.

Unable to record elements for automation. Getting a warning “UILearn is not installed…..” Image description

This error occurs if all Jiffy files are not installed properly due to anti-virus blocking the installation.
Check if wpfbase.exe is present in C:\jiffyservice\Learn, If not present, place the file there and restart the recording.
You can also stop the antivirus and reinstall Jiffy Client.

In input fields if I provide " ", it is changed to "& quot;", for example, “Mobile” is converted as "& quot;"Mobile"& quot;". I am unable to perform web automation due to this. Image description

Add a function to convert the entire input including quotes to a string, for example, return str(input_text) and use the converted string as input for the web automation. Image description Image description

When executing WebUI node, getting "Python path is missing" error. Image description

This can occur when there are multiple versions of Python installed in the system.
Uninstall all the already existing versions of Python from the system, remove the path from environment variables and uninstall Jiffy client.
Restart the machine and reinstall Jiffy client.

When executing WebUI node, getting "Chrome Extension is not found or disabled" error. Image description

In the Web UI Configurations, use Chrome Deprecated mode for Browser.

Image description


This can occur when there is any empty step in Actions tab of WebUI node. Please delete the empty step, if present. As in the screenshot below, Step1 needs to be deleted. Image description

Image description
Image description


Close the Excel file if it is open, before executing the task.

Even though Run even if locked option enabled in advanced properties of the Web UI node, the task is failing if the machine is locked.

The property Run even if locked fails if the WEB UI node has the Image or text-based elements in it. To overcome this, use the Login node in the task so that the bot logs in to the machine and executes the task successfully.

There is a UI element that appears only after scrolling down the webpage. During the execution, the bot is unable to scroll down to the check box and throws up an error "Element not found error". Image description

Jiffy scrolls down to the element automatically. But if it throws the error “Element not found error”, use the following selenium expression to scroll down to the element in the dynamic script of the UI Control.

x = ‘xpath of the element'
driver=self.engine.get_driver()
target=driver.find_element_by_xpath(x)
driver.execute_script('arguments[0].scrollIntoView(true);', target)
return target

While downloading PDFs, download button navigates to a new Chrome window. I am unable to download the next PDF file without closing this window. Image description

When the user clicks on the download button to download PDF, it opened a new window to download and not closing by its own.
Chrome execution fails due to this reason.
Use the send string function using a ctrl+w shortcut key for closing extra chrome window.

When executing the Web UI node, getting the “Message: no such frame: element is not a frame” error in an element. Image description

  1. Reinstall the Chrome browser and chrome driver.
  2. Update XPath. Now the Element is clickable.

Error while getting response from BOT. Image description


This issue happens when the disk space is not enough to create/download the attachment on the bot machine.
Monitor the disk usage and the task.
Delete few files/folders from the downloads folder of the bot machine.

As per recommendation 50GB disk space should be there.

Web node is throwing error as "Error communicating with the remote browser. It may have died. Build info: version: '2.41.0'"


This issue is seen in web nodes randomly when chrome mode is used. It can be due to some security restrictions.
It is better to use Chrome Standalone for production runs.

Web node is throwing error as "Error communicating with the remote browser. It may have died. Build info: version: '2.41.0'"

Go to UI controls page of jiffy and search for element captured.
Copy the xpaths present in the page and search in the the web application by inspecting the page.
If xpath matches to the element and count is one then, try clicking the element with simple JavaScript expression as shown below in the console page of inspect.

a = $x(xpath)
a[0].Click()


Try same steps for all the the xpaths. If all the xpaths didn't work, then try copying the xpath directly from the element in the inspect page and try to run the task.
Check if element is present inside a frame or multiple frames. Then try switching to to the correct frame and clicking the element.
While designing the task, if we are using exists or exist with implicit delay , then always try to to check the element which is more likely to to appear on screen every time exists, rather than the one which we are expecting to appear very rarely.
If there is a file upload portion in the the web application, then it's always recommended to use sendkeys or or keyboard action to send file path to the upload button. Hence, we should avoid desktop recording or desktop elements usage for such cases.
Try virtual click and virtual input , if normal click and input actions are not working.

Web node is throwing error as "Message: timeout: Timed out receiving message from renderer: 300.000 (Session info: chrome=109.0.5xxx.75) (Driver info: chromedriver=xxx.0.5359.71" Image description


This issue is seen in web nodes randomly when chrome mode is used. It can be due to some security restrictions.

  1. Check the Chrome browser version in the Chrome Browser.
  2. Double click on the chromedriver.exe file on the folder C:\jiffyservice\Python and check its version.
  3. If they are not matching, update it manually.

    The latest versions of Jiffy have already incorporated the feature of automatic driver updates for Chrome. However, if you're experiencing issues with this feature, you might have to perform a manual update.

Web node is throwing error as "Read Timed out; nested exception is java.net.SocketTimeoutException:..." while recording the UI Element using JiffyUILearn Image description

This issue occurs when there are connectivity issues with the web plugin after upgrading to Jiffy.
Restart the client machine, which can allow the web plugin to function properly.

Use the below user-defined function to kill the sessions.

subprocess.run(["taskkill", "/F", "/IM", "chrome.exe"])

Did you find what you were looking for?