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.
- Basic recording suits a single window or application and generates one activity per action, with selectors.
- Desktop recording suits multiple applications and windows and generates a container with all its actions inside.
- Recorded actions include click, type into, select item and check, and each uses a selector to find its element.
- 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.
- It requires the browser extension or driver so the robot can read the page elements.
- It records clicks, typed text, dropdown choices and navigation, and wraps them in a browser container.
- Selectors come from HTML attributes such as id, name and class, which makes them fairly stable.
- 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.
- Simulate Click and Simulate Type work through the application's own object model, so they are fast and background-safe but not supported everywhere.
- Send Window Messages is a middle option that posts messages to the window.
- The default (hardware events) mimics real mouse and keyboard, so it is slowest but the most compatible.
- 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.
- Full text is fast and accurate, and reads text from most desktop and web applications, including hidden text.
- Native works only with applications that support Windows GDI and returns text with its position.
- OCR reads text from an image, so it works on remote desktops and Citrix but is slower and less accurate.
- 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.
- A wizard asks the user to select the first and second field; the tool then infers the pattern of the whole table.
- The output is a DataTable, which can be written to Excel or a CSV file.
- Column names can be edited, and the wizard can follow a next-page button to scrape multiple pages.
- 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.
- Get Full Text, Get Visible Text and Get OCR Text extract single values, while Extract Structured Data extracts whole patterns.
- Regular expressions pull a required part, such as an invoice number, out of the scraped text.
- Pagination is handled by giving the robot the selector of the next-page button, and it stops when the button disappears.
- 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.
- Each selector is built from tags such as
<wnd>,<html>and<webctrl>, each with attributes like name, id, class and tag. - Example:
<html app='chrome.exe' title='Login' />followed by<webctrl id='user' tag='INPUT' />. - The first tag identifies the top-level window or application, and later tags narrow down to the element.
- 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.
- Selectors are generated when an element is indicated on screen, or they are written manually.
- A good selector uses stable attributes such as id and name and avoids values that change, like page numbers or timestamps.
- The validate button in the selector editor shows whether the element is found, and the indicator highlights it.
- 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.
- Unstable attributes are removed by unchecking them in the editor or deleting them from the text.
- A wildcard such as
*replaces changing parts, and?replaces one character. - Variables can be inserted into the selector text so that one activity works for many elements.
- 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.
- Breakpoints pause execution at a chosen activity so the user can inspect values.
- Step Into, Step Over and Step Out control how far the workflow runs each time.
- The Locals and Watch panels show variable values, and the Output panel shows log messages.
- 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.
- The value is written as
{{variable}}, for example<webctrl innertext='{{customerName}}' />. - It helps when the element changes with data, such as a row for a different customer each time.
- It removes the need for a separate activity per element, especially in loops.
- 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.
- A full selector contains the whole path from the window down to the element.
- A partial selector has only the element tags, and the container (Attach Browser or Attach Window) supplies the top part.
- This makes the workflow shorter, faster and easier to change when the window title changes.
- 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.
- Selectors do not work because the robot sees pixels, not elements.
- Image activities, such as Click Image and Find Image, locate a screenshot on screen.
- OCR activities read text, and Find Text Position gives its location.
- 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.
- Excel data is read into a DataTable so it can be processed row by row.
- PDF files hold text either as native text or as scanned images.
- Native PDFs are read with PDF activities, while scanned PDFs need OCR.
- 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.
- It is like a database table, with named columns and typed values.
- Common activities are Build Data Table, Add Data Row, Filter Data Table, Sort Data Table and Remove Duplicate Rows.
- For Each Row iterates over the rows, and
row("Name")reads a cell. - 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.
- Read Range loads a sheet into a DataTable, and Write Range saves a DataTable to a sheet.
- Excel Application Scope opens the workbook, and the activities inside work on it.
- Read Cell and Write Cell handle a single cell, while Append Range adds rows at the end.
- 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.
- Excel data is filtered, sorted, merged and looked up (VLOOKUP) using data table or Excel activities.
- Read PDF Text extracts text from native PDFs, and Read PDF With OCR handles scanned ones.
- The extracted text is a string, so regular expressions or string methods pick out the required values.
- 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.
- Get Text reads one element's text, and Get Full Text or Get Visible Text reads a whole window.
- The value is stored in a string variable, and can be converted to a number when needed.
- Regular expressions or Split and Substring isolate the exact part from a longer text.
- 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.
- 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.
- Typical anchors are labels next to text boxes, such as "Name" beside an input field.
- Anchors help when the screen has repeated similar elements, or the selectors change.
- 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.
- PDFs have no selectors, so a label text or image is used as the anchor.
- Anchor Base with Get Text or OCR reads the value relative to the label, for example to its right.
- This keeps working when the position on the page shifts slightly, as long as the layout of label and value remains the same.
- 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.