Skip to content
AD-802 (C) ยท Robotic Process Automation/Quick Revision Short Notes

Robotic Process Automation (AD-802 (C)) - Unit 3 Short Notes

How unit 3 is examined

This unit covers recording, scraping, selectors, debugging, Citrix image automation, Excel data tables and PDF extraction; no topic was asked in the supplied papers, so every topic is short but complete.

Recording Introduction: Basic and Desktop Recording

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Recording captures the user's mouse and keyboard actions on screen and converts them automatically into workflow activities.</mark>

Key points.

  1. Basic recording suits a single window or application and generates one activity per action, with selectors.
  2. Desktop recording suits multiple applications and windows and generates a container with all its actions inside.
  3. Recorded actions include click, type into, select item and check, and each uses a selector to find its element.
  4. Recording is fast for simple flows, but the generated workflow usually needs editing and cleaning.

Web Recording

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Web recording captures actions performed inside a web browser and generates activities that use browser-specific selectors.</mark>

Key points.

  1. It requires the browser extension or driver so the robot can read the page elements.
  2. It records clicks, typed text, dropdown choices and navigation, and wraps them in a browser container.
  3. Selectors come from HTML attributes such as id, name and class, which makes them fairly stable.
  4. Dynamic page content and pop-ups may need manual delays or edited selectors after recording.

Input-Output Methods

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Input methods decide how the robot sends clicks and keystrokes to an application, and output methods decide how it reads data back.</mark>

Key points.

  1. Simulate Click and Simulate Type work through the application's own object model, so they are fast and background-safe but not supported everywhere.
  2. Send Window Messages is a middle option that posts messages to the window.
  3. The default (hardware events) mimics real mouse and keyboard, so it is slowest but the most compatible.
  4. Output methods are full text, native and OCR; the choice depends on whether the text is accessible.

Screen Scraping

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Screen scraping extracts visible text or data from the screen of an application, using full text, native or OCR methods.</mark>

Key points.

  1. Full text is fast and accurate, and reads text from most desktop and web applications, including hidden text.
  2. Native works only with applications that support Windows GDI and returns text with its position.
  3. OCR reads text from an image, so it works on remote desktops and Citrix but is slower and less accurate.
  4. The scraped text is stored in a string variable for later processing.

Data Scraping

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Data scraping extracts structured data, such as a table or repeated list, from a web page or application into a data table.</mark>

Key points.

  1. A wizard asks the user to select the first and second field; the tool then infers the pattern of the whole table.
  2. The output is a DataTable, which can be written to Excel or a CSV file.
  3. Column names can be edited, and the wizard can follow a next-page button to scrape multiple pages.
  4. It is more reliable than typing rows manually and works on tables, lists and search results.

Scraping Advanced Techniques

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Advanced scraping handles data that simple wizards miss, using pattern-based extraction, regular expressions and pagination.</mark>

Key points.

  1. Get Full Text, Get Visible Text and Get OCR Text extract single values, while Extract Structured Data extracts whole patterns.
  2. Regular expressions pull a required part, such as an invoice number, out of the scraped text.
  3. Pagination is handled by giving the robot the selector of the next-page button, and it stops when the button disappears.
  4. Delays or wait activities are added when data loads slowly.

Selectors

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>A selector is an XML fragment that holds the attributes used to identify a user interface element uniquely.</mark>

Key points.

  1. Each selector is built from tags such as <wnd>, <html> and <webctrl>, each with attributes like name, id, class and tag.
  2. Example: <html app='chrome.exe' title='Login' /> followed by <webctrl id='user' tag='INPUT' />.
  3. The first tag identifies the top-level window or application, and later tags narrow down to the element.
  4. Selectors are stored in the properties of every UI activity.

Defining and Assessing Selectors

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Defining a selector means choosing the attributes that identify an element, and assessing means checking that it finds exactly one element.</mark>

Key points.

  1. Selectors are generated when an element is indicated on screen, or they are written manually.
  2. A good selector uses stable attributes such as id and name and avoids values that change, like page numbers or timestamps.
  3. The validate button in the selector editor shows whether the element is found, and the indicator highlights it.
  4. A selector that matches many elements or none must be corrected.

Customization

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Customization means editing the generated selector in the selector editor to make it more reliable or reusable.</mark>

Key points.

  1. Unstable attributes are removed by unchecking them in the editor or deleting them from the text.
  2. A wildcard such as * replaces changing parts, and ? replaces one character.
  3. Variables can be inserted into the selector text so that one activity works for many elements.
  4. UI Explorer is used to test and fine-tune the selector before it is placed in the workflow.

Debugging

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Debugging is finding and removing errors in a workflow by running it step by step and inspecting its state.</mark>

Key points.

  1. Breakpoints pause execution at a chosen activity so the user can inspect values.
  2. Step Into, Step Over and Step Out control how far the workflow runs each time.
  3. The Locals and Watch panels show variable values, and the Output panel shows log messages.
  4. Slow Step and Highlight Elements make each action visible, which helps in finding wrong selectors.

Dynamic Selectors

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>A dynamic selector has variable or argument values inserted into its attribute text so that it changes at run time.</mark>

Key points.

  1. The value is written as {{variable}}, for example <webctrl innertext='{{customerName}}' />.
  2. It helps when the element changes with data, such as a row for a different customer each time.
  3. It removes the need for a separate activity per element, especially in loops.
  4. The variable must contain the exact text, or the element will not be found.

Partial Selectors

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>A partial selector omits the top-level window details and inherits them from a parent container activity.</mark>

Key points.

  1. A full selector contains the whole path from the window down to the element.
  2. A partial selector has only the element tags, and the container (Attach Browser or Attach Window) supplies the top part.
  3. This makes the workflow shorter, faster and easier to change when the window title changes.
  4. Activities using partial selectors must sit inside the container, or they will fail.

RPA Challenge - Image, Text & Advanced Citrix Automation

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Citrix and remote desktops send only an image of the screen, so automation must rely on images, text recognition and keyboard input instead of selectors.</mark>

Key points.

  1. Selectors do not work because the robot sees pixels, not elements.
  2. Image activities, such as Click Image and Find Image, locate a screenshot on screen.
  3. OCR activities read text, and Find Text Position gives its location.
  4. Keyboard shortcuts and Citrix-friendly recording make the bot more stable, and screen resolution must remain the same.

Excel Data Tables & PDF

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>This topic covers reading tabular data from Excel and extracting content from PDF files for automation.</mark>

Key points.

  1. Excel data is read into a DataTable so it can be processed row by row.
  2. PDF files hold text either as native text or as scanned images.
  3. Native PDFs are read with PDF activities, while scanned PDFs need OCR.
  4. Results are written back to Excel, a database or a report.

Data Tables in RPA

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>A DataTable is an in-memory structure of rows and columns used to store and process tabular data in a workflow.</mark>

Key points.

  1. It is like a database table, with named columns and typed values.
  2. Common activities are Build Data Table, Add Data Row, Filter Data Table, Sort Data Table and Remove Duplicate Rows.
  3. For Each Row iterates over the rows, and row("Name") reads a cell.
  4. Output Data Table converts the table to text, and Merge or Join combines two tables.

Excel and Data Table Basics

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Excel activities read, write and modify workbooks, and data table activities transform the data held in memory.</mark>

Key points.

  1. Read Range loads a sheet into a DataTable, and Write Range saves a DataTable to a sheet.
  2. Excel Application Scope opens the workbook, and the activities inside work on it.
  3. Read Cell and Write Cell handle a single cell, while Append Range adds rows at the end.
  4. Workbook activities work without Excel installed, whereas the scope activities need it.

Data Manipulation in Excel โ€“ Extracting Data from PDF

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Data manipulation means filtering, sorting, joining and calculating on Excel data, while PDF extraction reads text out of PDF documents.</mark>

Key points.

  1. Excel data is filtered, sorted, merged and looked up (VLOOKUP) using data table or Excel activities.
  2. Read PDF Text extracts text from native PDFs, and Read PDF With OCR handles scanned ones.
  3. The extracted text is a string, so regular expressions or string methods pick out the required values.
  4. Pages can be limited with a range such as "1-3" to reduce processing time.

Extracting a Single Piece of Data

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>Extracting a single piece of data means reading one value, such as a name or an invoice total, from a screen, page or document.</mark>

Key points.

  1. Get Text reads one element's text, and Get Full Text or Get Visible Text reads a whole window.
  2. The value is stored in a string variable, and can be converted to a number when needed.
  3. Regular expressions or Split and Substring isolate the exact part from a longer text.
  4. For fixed-format documents, an anchor can be used to locate the value.

Anchors

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>An anchor is a nearby, stable element used as a reference point to find a target element that has no reliable selector of its own.</mark>

Key points.

  1. The Anchor Base activity holds an anchor and an action; the robot finds the anchor and then acts on the element in a set direction.
  2. Typical anchors are labels next to text boxes, such as "Name" beside an input field.
  3. Anchors help when the screen has repeated similar elements, or the selectors change.
  4. The anchor and the target must stay in the same relative position.

Using Anchors in PDF

<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>

Definition. <mark>In a PDF, anchors locate a fixed label such as "Invoice No", and the required value is read from the position beside or below it.</mark>

Key points.

  1. PDFs have no selectors, so a label text or image is used as the anchor.
  2. Anchor Base with Get Text or OCR reads the value relative to the label, for example to its right.
  3. This keeps working when the position on the page shifts slightly, as long as the layout of label and value remains the same.
  4. It works for both native and scanned PDFs, using the OCR engine for the latter.

Last-minute revision

  • Recording: basic is for one window, desktop is for many applications and produces a container.
  • Web recording needs the browser extension and uses HTML attributes.
  • Input methods: hardware events (slow, most compatible), Simulate and Send Window Messages (fast, background-safe).
  • Scraping methods: Full Text (fast), Native (GDI, gives position), OCR (slow, works on Citrix).
  • Data scraping produces a DataTable and can follow the next-page button.
  • A selector is an XML fragment of attributes identifying one UI element.
  • Wildcards: * replaces many characters, ? replaces one.
  • Dynamic selector uses {{variable}}; partial selector inherits its top-level window from a container.
  • Debugging uses breakpoints, Step Into, Over and Out, Locals and Watch panels.
  • Citrix has no selectors, so use image, OCR and keyboard.
  • Read Range and Write Range move data between Excel and a DataTable.
  • Anchor Base finds a target through a stable nearby element.

Memory hooks

  • FNO for scraping: Full text, Native, OCR.
  • Selector = address of the UI element, and a dynamic one has a variable house number.
  • Partial = container supplies the top, the activity supplies the rest.
  • Citrix = pixels only, so images and OCR replace selectors.
  • Anchor = landmark: find the label, then look beside it.

Coverage checklist

  • Recording Introduction: Basic and Desktop Recording: no past questions.
  • Web Recording: no past questions.
  • Input-Output Methods: no past questions.
  • Screen Scraping: no past questions.
  • Data Scraping: no past questions.
  • scraping advanced techniques: no past questions.
  • Selectors: no past questions.
  • Defining and Assessing Selectors: no past questions.
  • Customization: no past questions.
  • Debugging: no past questions.
  • Dynamic Selectors: no past questions.
  • Partial Selectors: no past questions.
  • RPA Challenge - Image, Text & Advanced Citrix Automation: no past questions.
  • Excel Data Tables & PDF: no past questions.
  • Data Tables in RPA: no past questions.
  • Excel and Data Table basics: no past questions.
  • Data Manipulation in excel โ€“ Extracting Data from PDF: no past questions.
  • extracting a single piece of data: no past questions.
  • Anchors: no past questions.
  • Using anchors in PDF: no past questions.
Go to where you left off?

Quick Add to Notes

Save questions, your own notes and screenshots into notes filed by unit. It takes a free account.

Create free account

Have an account? Log in