SlideShare une entreprise Scribd logo
1  sur  328
Télécharger pour lire hors ligne
Pavel Duglas
A P O C K E T G U I D E F O R W E B A U T O M A T I O N
BROWSER
AUTOMATION STUDIO
INTRODUCTION..............................7
ГЛАВА 1. BAS МОДУЛИ.................17
CONTENT
Use with BAS..............................................7
About the author.........................................8
How to use the guide................................10
Modules -> Action Blocks-> Functions
-> Auto-Scripts..........................................13
Interaction Types in BAS..........................14
Parameters max. mouse movement........16
Browser...................................................23
Script Logic.............................................26
Tools ......................................................29
Network...................................................31
Waiting....................................................33
HTTP Client.............................................35
Date and Time.........................................38
File System.............................................42
Changing Browser
Fingerprints.............................................44
List..........................................................47
Path.........................................................49
Working with Profiles..............................51
MAIN MODULES............................20
Open/Close Browser.....................................66
Clipboard ......................................................68
Idle Emulation...............................................70
Asynchronous Function
Calls...............................................................72
Image Processing..........................................75
Mail.................................................................77
Phone Confirmation.......................................79
Process Management....................................81
SMTP Client (Send Mail)................................83
Telegram........................................................85
Time Zone......................................................87
Interaction with the
User................................................................89
Built-in
Languages.....................................................91
Excel..............................................................93
Database.......................................................96
Resources..................................................53
Line............................................................55
XPATH.......................................................57
JSON..........................................................59
Script Statistics.........................................62
Regular Expressions..................................64
ADDITIONAL MODULES....................66
CONTENT
URL..........................................................98
Check sum.............................................100
Achive.....................................................102
FTP.........................................................104
SQL.........................................................106
MANAGER MODULE.............................108
CHAPTER 2. ACTION
BLOCKS.....................................109
BASIC ACTION BLOCKS........................110
Browser Actions.........................110
Script Logic Actions...................120
Tool Actions..............................129
Network
Actions......................................131
Waiting Actions..........................136
HTTP Client Actions...................138
Date and Time Actions................143
File system
actions......................................146
Browser Fingerprint
Actions......................................148
List Actions...............................149
Path Actions..............................153
Profile
Actions......................................156
Actions with Resources...................158
Actions with Strings........................161
xpath Actions..................................174
Script Statistics Actions .................176
Regular Expression
Actions...........................................177
Browser Opening and Closing
Actions...........................................179
Clipboard Actions............................180
Idle Emulation Actions ....................181
Actions of asynchronous functions...182
Image Processing Actions................183
Mail Actions....................................186
Phone Verification Actions...............190
Process Control Actions ..................193
SMTP Client Action..........................194
telegram actions..............................195
Time Zone Actions...........................196
User Interaction
Actions............................................198
Actions of built-in languages.............200
Excel Actions....................................201
Database Actions..............................206
URL Actions......................................210
Checksum Actions............................213
Backup Actions................................214
FTP Actions.....................................215
SQL Actions.....................................219
CONTENT
AUXILIARY ACTION BLOCKS................224
Direct Browser
Control...................................224
Move Mouse and Click on
Element..................................225
Click on Element.....................226
Move Mouse over
Element..................................227
Move Mouse and Click.............228
Click......................................229
Move Mouse...........................230
Entering
Text.......................................231
Clear Field.............................232
Examine the Element on the
Page.....................................233
Start Cycle ...........................234
Tabs.....................................235
Check Existence of
Element................................238
Get Item Code.......................239
Get Text................................240
Execute Javascript on an
Element................................241
Screenshot............................242
Solve Captcha ......................243
Solve Captcha with Clicks.........244
Solve FunCaptcha.....................245
Solve HCaptcha........................246
Solve Recaptcha 2.0..................247
Wait for Element to Appear........248
Scrolling to an Element..............249
Get Element Coordinates............250
Get Number of Items..................251
Get Element Style......................252
Start Dragging on an
Element....................................253
End Drag on Element ................254
Start Drag................................255
Finish Drag..............................256
Get Link Address......................257
Get Element Attribute...............258
Set Element Attribute...............259
Set Combobox Value................260
Set ComboBox Index................261
Select a Random Item from a
Combobox...............................262
JSON actions..........................222
CONTENT
GRAPHIC ACTION BLOCKS....................263
Move Mouse and Click on
Element......................................264
Click on an Element....................264
Move Mouse over
Element......................................264
Entering text...............................265
Clear Field..................................265
Check for the Existence of an
Element......................................265
Wait for the Element to
Appear.......................................266
Get Element
Coordinates................................266
Start Dragging on an
Element......................................266
End Dragging on
Element......................................266
CHAPTER 3 :
FUNCTIONS................................267
CHAPTER 4: AUTO SCRIPTS...........270
MAIN TYPES OF AUTOMATIC
TASKS............................................271
Auto Registration .....................271
Parsing....................................273
Checking Accounts for Valid
(Checker) ................................275
Mailer/Spammer.......................277
Chat-Bot...................................279
Auto-Posting............................281
Auto-Filler (form filler without
registering as GooglePlay) .......283
Content Generator....................285
File Manager............................287
String Manager.........................289
Audio and Media Content
Processor.................................291
Monitoring and Data Analysis....293
Bonus Collector........................295
Clicker.....................................297
Desktop Application
Automator................................299
Android App
Automator................................301
CONTENT
Browser Extensions Automator .................................................................303
API Integrator..........................................................................................305
Automator Antidetect Browsers.................................................................307
Cheater of Social Activity.........................................................................309
Auto-trader .............................................................................................311
Bruteforce ..............................................................................................313
Web Application Tester............................................................................315
Automator of Advertising Rooms ..............................................................317
Business Process Automation...................................................................319
Employee Task Automator ........................................................................321
Site Creation Automator on Constructors...................................................322
Auto-Money Transfer................................................................................324
BAS USEFUL RESOURCES.......................................................................326
MY CONTACTS....................................................................................328
This guide has been designed to help
beginners learn BAS more quickly and
effectively. All modules, action blocks,
functions and scripts are used inside the
constructor.
Install and start creating!
APP.BROWSERAUTOMATIONSTUDIO.ONLINE
FREE CONSTRUCTOR
DOWNLOAD AND USE
BROWSER AUTOMATION STUDIO
Pavel Duglas
Pavel Duglas
Pavel Duglas
ABOUT THE AUTHOR
developed 888+ bots for various tasks
earned 4,867,198+ rubles net profit
automated all business processes
went on a permanent passive income
My name is Pavel Duglas and I am a professional
RPA Developer and a successful digital
entrepreneur. One of the automation tools for me is
BAS.
With the help of BAS for 3.5 years:
In addition, I founded my online BAS school, the
DefiNova auto-bot marketplace, I am the author of
many online projects on the Internet, I have
hundreds of cases in the field of automation.
Pavel duglas
Pavel duglas
Pavel duglas
ABOUT THE AUTHOR
I have helped hundreds of different clients
implement automation in their business and online
earnings.
I want to express my deep gratitude to the BAS
developers and his team for making such a huge
contribution and developing the truly best
automation tool on the market.
This guide is for those who want to learn a new IT
profession and become a BAS developer in the
shortest possible time.
And now I will not delay you, dive in and study BAS
avidly, because this is really our future! pavel duglas
pavel duglas
pavel duglas
HOW TO USE THE GUIDE?
THE MAIN GOAL OF THE GUIDE: "TAKE AND AUTOMATE"
Many newbies to Browser Automation Studio ask a lot of questions
about modules, actions, and even simply cannot find the right block for
their scripts.
Also, the main problem is that many do not understand how to apply
automation in everyday routine operations.
In Chapter 1, you will get acquainted with the BAS modules and
understand how they work.
In Chapter 2, you will learn about action blocks and how to use them.
In Chapter 3, you will learn about the functions where action blocks are
placed.
Finally, in Chapter 4, you will learn about the main use cases for
automation in Internet activities.
EACH CHAPTER CONTAINS PRACTICAL INFORMATION
pavel duglas
pavel duglas
pavel duglas
HOW TO USE THE GUIDE?
This book won't tell you "How" to write automation scripts with Browser
Automation Studio, but it will show you the right way to learn the
designer.
The most important thing in the first step is to learn the basic
components and modules of BAS before you start creating.
At the second stage, it is to understand with specific examples where
automation can be applied.
And at the third stage - to automate all routine processes for your own,
and after that, user needs.
Go through all the steps and learn BAS.
ALWAYS KEEP THE GUIDE AT HAND AND USE IT WHILE
USING THE CONSTRUCTOR.
pavel duglas
pavel duglas
pavel duglas
HOW TO USE THE GUIDE?
Imagine that the entire automation script is built on "LEGO" bricks. You
probably loved this activity as a child, and now it's time to remember
and become like a child's fantasy.
I am going to tell you about several types of automatic scripts that I use
every day. But this is only a small part of what can be generally
imagined ...
With BAS, you can even turn on your refrigerator's light bulb if you want,
your imagination doesn't have to be limited to my examples.
But the auto script examples will help you get started faster and easier
with Browser Automation Studio.
pavel duglas
pavel duglas
pavel duglas
BAS WORKLAB
MODULES
ACTION BLOCKS
FUNCTIONS
AUTO SCRIPTS
BAS STRUCTURE
pavel duglas
pavel duglas
pavel duglas
INTERACTION TYPES IN BAS
BAS internally has 2 different
types of interaction with sites:
1. Opening the URL of the pages
in the browser (normal page
loading as in your regular browser
on a PC)
2. Sending requests to the web
page server directly without
opening pages in the browser and
rendering the visual component.
HTTP CLIENT
WEB BROWSER
pavel duglas
pavel duglas
pavel duglas
WEB-BROWSER
HTTP-CLIENT
When what
interaction type to use?
It should be understood that
loading a page in a browser loads
computer resources, therefore,
more than 100-200 threads will not
work.
If you need to work in 1000 threads
or more, then you should use an
HTTP client that is optimized for
such loads and works completely
without a browser.
pavel duglas
pavel duglas
pavel duglas
Mouse maximum speed settings
SPEED
10000
ATTRACTION
6000
DEFLECTION
5000
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
CHAPTER 1
BAS MODULES
"Systems are made up of subsystems, subsystems are made up
of subsystems, and so on ad infinitum - that's why we design from
the bottom up."
Alan Perlis
pavel duglas
pavel duglas
pavel duglas
BAS MODULES
Imagine that you go to the store and take a grocery
basket with you. In the store, you liked the Lego set
in a beautiful box and you put it in the basket. But
the box is not empty, but consists of small parts
called LEGO.
The basket is the module in BAS, in which you put
lego sets (functions). And each separate set
contains small parts of the LEGO constructor (action
blocks).
Each module is unique and contains the necessary
components (action blocks) that you will use when
creating functions and automatic scripts.
pavel duglas
pavel duglas
pavel duglas
Concept
modular
structure
ACTION SET
The developer uses a set of actions to
solve a problem
FUNCTION
Actions are placed in special containers
for multiple calls with parameters
MODULE
Functions are used to create special
blocks called modules for connecting to
projects
pavel duglas
pavel duglas
pavel duglas
BAS MODULES
Main
Modules in BAS are divided into 2 main types:
1.
2. Additional
Core modules are a set of action blocks that you will
use most often in automation.
The main modules are: Browser, Script Logic, Tools,
Network, Wait, HTTP Client, Date and Time, File
System, Browser Fingerprint, List, Path, Profile
Management, Resources, String, XPATH, JSON,
Script Statistics, regular expressions.
pavel duglas
pavel duglas
pavel duglas
BAS MODULES
Each of these modules helps to solve a specific
problem. For example, the browser module allows
you to call a "Download" action that loads the site
you specify at the URL.
We will analyze all of these modules separately and
see what other functions they are intended for.
Additional modules are a set of action blocks that
you will use as needed and you can do without them
if you do not have a specific task for using them.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
BAS MODULES
These include: open/close browser, clipboard, idle
emulation, asynchronous function call, image
processing, mail, phone confirmation, process
control, send email, Telegram, timezone, user
interaction, built-in languages, Excel, Database, URL,
checksum, archiving, FTP, SQL.
For example, the image processing module helps
you edit uploaded photos and overlay any text on
them. The Telegram module is used to send
notifications to a convenient messenger.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
BROWSER MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
"BROWSER" MODULE
The "Browser" module is used to work with actions
(action blocks) that do not require a specific
element to be applied in the browser.
The "Browser" module includes the following
actions: load, current URL, previous page, page code,
text input, resolution, get permission and cursor
position, proxy, javascript, execute on each page
load, reset, open file dialog, start dragging the file ,
prompt window, http authentication, scrolling,
screenshot, solve captcha, recaptcha v3,
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
"BROWSER" MODULE
solve captcha with clicks, solved incorrectly,
timeout, browser settings, push extension button,
touch screen mode, mouse settings, notifications.
In the future, this list will be supplemented as new
features and actions may appear.
There are plenty of actions in the "Browser" module
to create a simple bot already.
However, each of the actions must be combined
with each other to get a full-fledged automation
scenario.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
SCRIPT LOGIC MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
SCRIPT LOGIC MODULE
The "Script Logic" module is used to execute
conditions, loops, set local and global variables, sum
them up, call functions in 1 or more threads,
terminate threads in successful and unsuccessful
forms, as well as to interrupt the script.
The "Script Logic" module includes the following
actions: IF, WHILE, FOR, FOREACH, Break, Continue,
Success, Fail, Abort Script, Set Label, Jump to Label,
Ignore Errors, Set Variable, Increment Variable, Set
Global Variable, Increment Global. variable
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
SCRIPT LOGIC MODULE
Call Function, Get Function Parameter, Return, Call
Function in Multiple Threads.
You will use this module very often in your
automator work, since you will have to work with
loops, variables and conditions, as well as with
function calls.
But don't worry, I'll go into more detail about each
action below so you can understand what they're
used for and how to use them.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
TOOLS MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
TOOLS MODULE
The "Tools" module is used to display useful
information in the log, display the results of the
script, execute Javascript code inside the script,
parse a string, and generate random numbers.
The module includes the following actions: log, clear
log, result, execute code, parse string, random
number.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
NETWORK MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
NETWORK MODULE
The "Network" module is used to work with the
browser's network settings such as: cache and its
elements, cookies, browser headers, request masks
and statuses, prohibitions and permissions for file
downloads and pop-up windows.
The module includes: set header, save and load
cookies, load cookies from http client, enable cache,
disable cache, allow request, disable request, clear
cache. data, clear masks, get request status,
whether there was a request, get last cache item, get
all cache items, disable and allow pop-ups and file
downloads.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
WAITING MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
WAITING MODULE
The "Waiting" module is used to cause pauses
between the actions of your automatic scripts, to
wait for selectors, texts, download files, browser
address, load a specific site URL, and also for the
full page load.
The module is relatively small and contains: wait for
full load, wait for URL to load, wait for browser
address, wait for text, wait for CSS, wait for file to
load, sleep.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
HTTP CLIENT MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
HTTP CLIENT MODULE
The "Http-Client" module is used to work with
requests to the web server and site, bypassing its
visual component. That is, the work is carried out
entirely without a browser.
The module is popular with professional developers
who have a good understanding of the server side of
sites and know how to interact with it.
The module contains the following actions: HTTP
client proxy, client reset, Get request, Post request,
Download, Current URL, response content, response
status, get header, set header, clear headers,
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
HTTP CLIENT MODULE
save and load cookies, load cookies from browser,
exit after error, did it occur, get error text, Xpath get
XML, each XML, get text, get each text, get number
of elements, check for existence.
You won't need HTTP requests initially, since almost
all tasks are performed through the browser, but it
will take a little longer.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
DATE AND TIME MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
DATE AND TIME MODULE
The "Date and Time" module allows you to flexibly
work with dates and times.
BAS uses its own date and time representation.
The number of milliseconds in the conversion is
counted from January 1, 1970, 00:00:00 UTC.
The starting point is midnight (UTC) from December
31, 1969 to January 1, 1970, the time from that
moment is called the "UNIX era" (Eng. Unix Epoch).
UNIX time is a time encoding method adopted by
operating systems.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
DATE AND TIME MODULE
UNIX time is consistent with UTC.
The method of storing time as a number of seconds is
very convenient to use when comparing dates (up to a
second), as well as for storing dates: if necessary, they
can be converted to any conveniently readable format.
Date and time in this format also take up very little
space (4 or 8 bytes, depending on the size of the
machine word), so it is reasonable to use it for storing
large amounts of dates. In most cases, it's more
efficient to store time as a single value rather than as
a set of fields.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
DATE AND TIME MODULE
The "Date and Time" module is rich in its actions:
string to date and back, milliseconds to date and back,
create date, change date, add seconds to date,
difference between dates, date now, change and get
time zone, day of month, week , years, get the year,
month, hours, minutes, seconds and milliseconds from
a date.
If you plan to call a script at a specific time, then this
module is perfect for you. Or you can use the built-in
task scheduler.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
FILE SYSTEM MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The module was created to simplify the work with
files on your computer.
This includes important actions such as: read a file,
write to a file, file/folder information, create and
delete a folder, move, copy a file/folder, search for
files, read or write a file to a list.
If your task is to work with text types of files or
pictures or a folder, then you will often use this
module.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
BROWSER FINGERPRINT
SWITCHER MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAD
PAVEL DUGLAD
PAVEL DUGLAD
MODULE DESCRIPTION
The module was created to change the parameters
and properties of the browser in which you perform
automatic operations.
A browser fingerprint is a set of properties and
characteristics of your computer or laptop that are
determined by the site you visit (this is a video card,
screen resolution, fonts, browser extensions, laptop
battery, etc.)
Swapping a device or browser fingerprint is always
necessary when you work with any sites, as they
analyze and identify the same devices.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
Device substitution is optional if you work in 1
thread.
But if you do not replace the device during multi-
threaded work, then the site will calculate you and
impose any restrictions.
Browser fingerprints are by default free for spoofing
Chrome devices.
If you need advanced settings and other devices
such as Iphone, Android, Firefox, then you need to
pay a subscription to the fingerprint database for 1
or 3 months. It's not expensive!
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
LIST MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The "List" module is used to work with arrays (lists).
A list or array is an ordered finite set of elements.
For example, a list of tasks, names, surnames,
emails, accounts, phones.
Often you will have to work with a large number of
accounts for a site, and this is where lists come in
handy.
For example, you need to use only 1 specific
account from the list, and not all.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE PATH
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
Choose the right path, not the easy one.
This module allows you to work with dynamic paths
and get information from them.
A dynamic path is a path to a file or folder that
changes depending on its location.
For example, you are working with profiles and you
need to place them in the root folder with the script
while it is running. Or, for example, you need to
determine the file extension from the received path.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE FOR WORKING WITH PROFILES
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The module is designed to create and switch
between browser profiles.
By default, BAS uses the Chromium browser engine
and the same profiles as in the regular Chrome
browser.
Profiles are folders that store your information
about visited sites, extensions, cookies, saved cache
from site pages and other important information.
Profiles help you save authorization on sites and not
re-authorize on them..
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
RESOURCE MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The "Resources" module allows you to work with
script resources in BAS.
Resources are input global script parameters that
can dynamically change during operation.
Resources are used as settings when starting an
automation script.
For example, it can be the number of streams, a txt
file with accounts, mails, randomly generated data,
etc. etc.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE STRING
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
One of the largest modules in the line.
Allows you to perform any operations with strings,
including trimming and clearing extra characters
and even extracting mail, phone numbers and links
from them.
Most often in the module you will use "Random
String", "Template", "Get Length", "Replace String"
and "Parse CSV String".
For example, using "Random string" you can
generate a random password for registering a new
account.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
XPATH MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The module allows you to work with XPATH.
XPATH - query language for HTML/XML pages.
One of the commonly used modules in BAS, with
which you can extract elements and texts from
pages very quickly.
For example, you are making an Avito parser using a
browser and you need to get specifications, a
description, and a photo from a product card.
XPATH will help you with this.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
JSON MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The module is used to work with the generally
accepted JavaScript Object Notation (JSON) data
format.
JSON is a text data exchange format based on
Javascript and is a kind of type: {"key":"value"}.
This is a set of pairs: key and value (in which any of
the values is represented inside double quotes,
except for numeric values). The entire JSON object
is in curly quotes. Also, the key can contain a nested
object in curly quotes, also a third nesting, and so
on.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The "JSON" module is useful when you need to
collect information from a site (for example,
contacts) and you send a request to receive it
through the "HTTP-Client" module.
Then in the response, most often you will receive a
string in JSON format.
This is where a set of actions is needed to extract all
the data from there.
For example, if you collect information about an
organization, then this may be a name, phone
number, email address, and other information that is
useful to you.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
SCRIPT STATISTICS MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
This module is used to get statistical performance
of your scripts.
For example, it can be the thread number, the
number of successful executions, and the number of
unsuccessful executions.
A useful module when you need to call a script on
certain threads, for example only 2 and 4.
Then you can use the IF construct and check the
thread number in the autoscript.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
REGULAR EXPRESSIONS MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The module is designed to replace and search for
strings in files or multiple files.
This is what regular expressions are.
Better than a simple search in topics, which allows
you to create a template of conditions by which you
should find a substring and do some manipulations
with it.
BAS works with regular expressions easily and
simply and can extract data from strings, replace
them or group them.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE OPEN
CLOSE BROWSER
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE OPEN
CLOSE BROWSER
This module contains only 2 actions: closing and
opening the browser.
Used when you need to more flexibly manage the
state of your browser or browsers in threads.
The browser is closed by default. When using the
"Open Browser" action, it opens automatically.
But if you close the browser manually, then
automatically it will no longer open.
This is where module actions come in handy.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
CLIPBOARD MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
CLIPBOARD MODULE
This module is used to work with the clipboard on
your computer.
The clipboard is a temporary storage for information
that you have recently copied.
There are 2 actions available in the module: read the
clipboard and write to the clipboard.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
IDLE EMULATION MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
This module, as the name suggests, is used to
provide random actions in the browser instead of
normal sleep.
Idle emulation manifests itself in the form of
scrolling the site page using the mouse wheel,
moving the mouse around the screen and sleeping.
The module contains only 1 action: idle emulation.
It is used as an alternative to regular sleep so that
the Yandex Metrica web browser or any other
tracking systems sees that you are an ordinary
person on their site.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE ASYNCHRONOUS
FUNCTION CALL
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The module is used to work with asynchronous
functions.
Asynchronous functions are special action
functions that run independently of the main work of
your script, in parallel with it, and which can be
suspended midway through execution.
The call of ordinary functions is accompanied by the
strict execution of the entire chain of actions and
the return of the result.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
In the case of an asynchronous function, you can
run it in parallel without interfering with the work of
the main function and receive the results of
execution while passing through the automation
script.
For example, if you need to work with two sites at
the same time: the first site monitors the arrival of a
code from an email message or collects any
information necessary for another site, and the
second site waits for this letter to be received or
waits until the necessary information is written to
the variable.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
IMAGE PROCESSING MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The module is used for editing and processing
images that you will upload in any of your tasks.
For example, you are making a script for automatic
posting in Telegram and you need to put some kind
of watermark, text or description on the picture.
This module will help you with this.
Also very often you need to solve captchas and
comparing one image with another will be very
useful.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MAIL MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MAIL MODULE
The module is used to receive and process the
content of letters in mail services.
For example, if you register accounts on any sites
where you receive registration confirmation letters
or a special confirmation code.
This module is equipped with all the necessary
functionality for this kind of tasks, it is completely
free and comes in the official BAS assembly.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
PHONE VERIFICATION MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
PHONE VERIFICATION MODULE
The module allows you to work with SMS services
for receiving activation codes, reset calls and their
further use in your scripts.
SMS services are specialized sites that provide
services for renting numbers to receive activation
codes from various sites.
Most services are already built into this module (for
example, sms-activate.ru), but you can also write
your own module for services that are not available
by default.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
PROCESS MANAGER MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
PROCESS MANAGER MODULE
This module is designed to call various .exe files on
your computer in parallel with the auto-script, as
well as to call Batch/Bat scripts.
BAS scripts are sequential commands called from
the CMD command line.
For example, you need to show a dialog box or play
some Windows system sound, or get a list of
running processes using WMIC.
WMIC is a utility program for managing Windows
processes.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
SEND EMAIL MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The module is used to send emails via the SMTP
protocol.
SMTP is a network protocol for transmitting email
over the Internet.
Each Email service has its own SMTP server through
which you can send emails.
But due to all sorts of spam, many email services
limit the sending speed and quantity via SMTP, and
also introduce additional. application passwords.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
TELEGRAM MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
TELEGRAM MODULE
The module allows you to work with sending
messages to Telegram.
The standard module only works with sending, but
there is also an advanced one that allows you to
send files, documents, screenshots and text with
buttons.
Useful if you run a Telegram channel and need new
content or just want to be notified when the bot is
successful.
You can also manage BAS scripts via Telegram.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
TIME ZONE MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
TIME ZONE MODULE
The module is designed to adjust the location
according to the ip-address, coordinates, time zone
and other properties.
Usually not used in practice, as it is replaced by an
action block called "Proxy".
It is useful and practical to adjust the parameters
according to the ip address, because at the slightest
discrepancy between your proxy IP and the one that
the site sees, you will have problems with
anonymity.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
USER INTERACTION MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
USER INTERACTION MODULE
The module allows you to transfer manual control to
the user during the execution of an auto-script,
perform sound alerts, request user input, and
execute Javascript inside web interfaces.
For example, you made your first bot and at some
stage a captcha pops up that you do not want to
solve automatically through the service. Of course,
you resort to the "Give manual control" action, then
in the process you can intervene in the execution,
solve the captcha and transfer control back.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
EMBEDDED LANGUAGES MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
EMBEDDED LANGUAGES MODULE
The Embedded Languages module is used to call
sections of code using NodeJS and its NPM
modules.
If you are an advanced user and you need to perform
non-trivial tasks, then this module is ideal for you to
implement. Also, the module is useful if you have
already written ready-made code and want to use it
at some stage of your automation script.
The module contains 1 activity: Node.js
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
EXCEL MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
EXCEL MODULE
BAS also has a built-in and powerful module for
working with Excel spreadsheets by default.
In the module you will find all the necessary action
blocks for building automation related to Excel
spreadsheets.
It contains: creating a file, reading, writing, deleting,
inserting and number of rows and cells, reading and
writing sheets, cell areas, importing, exporting files
to and from resources, getting a list of sheets,
adding, moving, renaming, deleting, clearing sheets ,
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
EXCEL MODULE
cells and cell areas, converting to JSON and back,
finding one or more cells by content, getting and
setting formulas in cells, styles, getting and setting
column widths, line heights, close the file.
The module allows you to fully automate work with
Excel without resorting to third-party software and
writing code.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
DATABASE MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
DATABASE MODULE
This module is used to work with the built-in
MongoDB database from BAS.
The module is designed to work with a local
database.
It is used as an alternative to Excel, text files, only
with more structured and larger data.
You can receive records from the database, record,
group, update and delete them in an unlimited
amount.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
URL MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
URL MODULE
This module allows you to work with URL-type
strings, User-Agents and encoding/decoding strings.
For example, you need to change the protocol from
http to https, replace some extra characters, cut
protocols and www, parse data from URL, create or
change URL, parse user agent into components,
encode or decode URL or turn it into Punycode.
Punycode is a method for converting Unicode
characters to allowed domain names.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
CHECKSUM MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The module is used to calculate the checksums of
strings and files.
A checksum is a value obtained as a result of
hashing using a certain algorithm.
Looks like: 5d41402abc4b2a76b9719d911017c592
or any more complex types.
There are 64 hashing algorithms inside the module,
including SHA-256, md5 and others.
It is mainly used when working with an HTTP client
(requests). Personally, I used it when auto-filling ads
in TikTok Ads via API.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
ARCHIVE MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
ARCHIVE MODULE
This module is used to work with RAR/ZIP/7z
archives.
Useful when you need to download large
compressed files from websites or a server and then
decompress them locally via a script.
The module contains: unpack the archive, archive
the folder, files, get the list of files from the archive.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
FTP MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
FTP MODULE
The module allows you to connect to remote servers
via FTP/SSH/SFTP protocols and work with the file
system.
FTP is a network file transfer protocol.
It will be extremely useful to use when automatically
uploading sites or html pages to hosting.
For example, you are engaged in traffic arbitrage
and you need to generate a lot of HTML pages for
different advertising offers and upload them to the
hosting as a spacer.
This is where this module comes in handy!
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
SQL MODULE
BROWSER AUTOMATION STUDIO
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE DESCRIPTION
The module is used for full-fledged work with
MySQL, mariaDB, postGres, SQLite and msSQL
Databases.
You can create a remote database on hosting and
make SQL queries to it, getting, changing, updating
or deleting data from tables.
For example, you have several lists of accounts that
have duplicates and you want to check them for
validity by writing them to your personal database
on the server. Then you can add an account after
checking it to the database and check if it is already
in the database.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
MODULE MANAGER
BROWSER AUTOMATION STUDIO
Allows you to create new modules, install
ready-made modules and enable / disable
installed ones.
Anyone can create their own module and
give it to anyone.
Modules are packaged in .zip format
Modules are made up of functions that are
built from action blocks.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
"Everything needs to be designed from the top down, except for
the foundation to start from."
Alan Perlis
CHAPTER 2
ACTION BLOCKS
INGREDIENTS
BROWSER ACTIONS
Action "Download" - calls the specified URL to the
site with a possible indication of the referer
parameter.
Referer is the source of the transition to the site.
Current URL - allows you to get the address of the
page of the site running in the BAS browser.
The CURRENT_URL variable is set by default and can
be changed to any other.
Previous Page - Allows you to perform a "back"
action on a BAS browser page.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
BROWSER ACTIONS
Page code - is used to save the HTML code of the
loaded page of the BAS browser.
SAVED_PAGE_HTML variable stores the html format
of the site page, which can be used to get elements
using the XPATH parsing method.
Text input - used to enter text on focused elements
that are in focus. NOT TO BE CONFUSED with text
input by selector!
Allows you to adjust the speed of text input in
milliseconds and emulate pressing some buttons
from the keyboard.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
BROWSER ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Resolution - allows you to change the screen size of
your browser. The default is 1024 x 768.
Get resolution and cursor position - serves to get
the screen size of the running browser and the XY
position of the mouse cursor.
Proxy - used to change the IP address and change
the geolocation parameters in the browser. Works
with 2 main types of proxies: http and socks5. You
can flexibly configure the settings and adjust to the
running browser profile.
BROWSER ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Javascript is an action block used to call Javascript
code inside the BAS Web Browser.
NOT TO BE CONFUSED with Run Code! This action is
only performed within the running browser, not
within specific threads.
Execute every time the page is loaded in the browser
- this action calls JavaScript inside the browser at
the very start of the page loading in the window.
Reset - the action is used to clear cookies, cache,
proxies, headers, user agents and other parameters
of your browser profile.
BROWSER ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Dialog open file - used to start working with files on
the browser page. This action must be performed if
you want, for example, to upload an avatar. It is
performed in 2 stages: first, the "Dialog open file" is
called and then click on the element with the avatar.
Start Drag File - This action is similar to opening a
file, but is used to drag and drop a file into the
browser. For example, if you drag a file from a
computer to a site into a special file upload block.
BROWSER ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
The "prompt" window is a special dialog box that
pops up for optional input from the user of any data.
NOT TO BE CONFUSED with modal windows, that's
different! Most sites no longer use the prompt
window.
HTTP Authentication - this is similar to the prompt
window, but only for entering authorization data, for
example, to connect to a site through a proxy using
a login and password.
Scroll - used to scroll the browser page by scrolling
along the X and Y coordinates. You can use the
mouse wheel or touch.
BROWSER ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Screenshot - used to take a screenshot of the
browser page by X and Y coordinates.
The width and height of the screenshot are also
specified.
The screenshot is saved in base64 format.
Solve captcha - used to solve text-graphic captchas
(Image To Text). The input parameters are a
captcha image in base64 format, a captcha solving
service, an Api key of the service, the URL of a
captcha service or a program for solving captchas
(optional).
CAPTCHA_RESULT - the variable saves the result
after solving the captcha by the service or program.
BROWSER ACTIONS
PABEL DUGLAS
PABEL DUGLAS
PABEL DUGLAS
RecaptchaV3 - an action that allows you to solve the
invisible new version of Recaptcha 3rd version. The input
parameters are the choice of solution service + Api key +
add. parameters indicating the minimum humanoid rating,
server URL (optional) and proxy sent to the service.
Solve captcha with clicks - an action similar to "Solve
captcha", only for solving graphic captcha images and then
clicking on them.
Input parameters: picture-grid of 9 pictures in base64
format, solution service, Api key, solution description (what
you need to click on) + server URL and delays.
The result of the action is a list (array) of
COORDINATES_LIST coordinates to click on. The action of
clicking on pictures by coordinates is not performed in this
action!
BROWSER ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Solved incorrectly - this action sends a request to the
captcha solving service about an incorrect solution. The
action is used when, for example, you solve a captcha to
enter your personal account and could not enter it due to an
incorrectly solved captcha. In this case, you can send a
request "Solved incorrectly" and the service will not charge
you money for the solution.
Timeout - an action used for global settings of waiting for
loading elements, site pages, captcha solving time. Useful
when you don't want each action, such as "Load" to have a
page load timeout.
Browser settings - an action for setting various browser
parameters before starting work for a particular stream. In
action, you can call extensions, configure WebRTC, WebGL,
browser command line arguments, and many other options.
Most often used to work with extensions.
BROWSER ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Press the extension button - this action calls a specific
extension in the BAS browser by ID or by its name.
Performing this action is similar to clicking on the extension
icon in your browser.
Before using this action, you must first install the extension. To
do this, use the "Browser settings" action.
Touch screen mode - the action allows you to enable or
disable touch events to emulate a mobile device. The usual
mouse cursor will be replaced with a round icon with the ability
to swipe.
Mouse Settings - action allows you to globally set the speed
and behavior of all mouse movements in your project. Speed,
attraction and deflection parameters are set.
Notifications - an action that allows you to enable or disable
your browser's pop-up notifications when you visit a site.
SCRIPT LOGIC ACTIONS
IF - action block of conditions. With this action you can
program various conditions.
For example, does the string contain certain words or a >=
b, or does the list of sites contain site #8.
With conditions, you can make your auto-scripts work more
correctly.
BAS has a built-in convenient expression builder that
visually helps you compose any condition.
It is also worth knowing that if the condition expression
contains something other than True or False, then it will still
be converted to True or False (boolean types).
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
IF CONDITION CONSTRUCTOR
BROWSER AUTOMATION STUDIO
Allows you to build complex conditions
quickly and easily without knowledge of
Javascript and other languages. Just
connect blocks together and build chains
of conditions that will turn into expressions
understandable by BAS.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
SCRIPT LOGIC ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
While - an action that invokes a while loop, known from
programming as a conditional loop.
Thanks to this loop, you can perform a set of actions until a
certain condition is met. For example, you are working with
a list of sites and you want to visit each site no more than
once. You prescribe the condition that If the number of sites
> 0, then continue to sort through the sites.
For - an action that calls a for loop that runs a specified
number of times from border A to border B. For example, if
you need to write a message to the user 5 times, then
setting the for loop from 1 to 5 will allow you to do this.
CYCLE_INDEX is a variable containing the current value of
the cycle (always an integer).
Foreach - an action that invokes a foreach loop that iterates
through the elements in the list one by one. For example,
you have a list of users who you want to add as friends.
FOREACH_DATA is a variable containing the current value of
the cycle.
SCRIPT LOGIC ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Break - an action that allows you to stop the execution of
any of the loops in BAS.
Continue - an action that allows you to continue the
execution of any of the BAS loops, skipping the previous
value.
Success - an action that signals the successful execution of
a task in the thread and its closure. Indicated in green. In
the event that all actions are performed correctly, BAS sets
the termination status to successful for that thread.
Fail - an action that indicates that the task in the thread has
failed and is closed. Marked in red. This action has the
option of not restarting the thread upon completion.
It is important to understand that this action only stops the
current thread, not the entire script.
SCRIPT LOGIC ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Interrupt script - an action that allows you to completely
interrupt the work of the entire script and all its threads.
Unlike "Fail", the action stops the entire script. You can also
stop the script instantly with an additional option.
An instant stop is when the execution of all functions inside
the script is stopped without waiting for them to be
executed.
Indicated in red as "Fail".
Set label - an action that allows you to set a checkpoint or
savepoint where you can return at any time during the script
execution. Labels allow you to move from one point in your
script to another. A very useful tool when it is difficult to
think through the logic or there is not enough knowledge.
It is not recommended to use labels very often, if you go too
far with them, the script can become unreadable and
difficult to change. It's better to use recursive functions
instead, but more on that later.
SCRIPT LOGIC ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Jump to label - an action that allows you to jump to a
predefined label set by the "Set Label" action. It is a
movement, like a teleport, from point A to point B.
Ignore Errors - an action that allows you to skip non-
working functions or actions in your script. For example, you
get the number of subscribers from the site from the user
and at some point something went wrong or did not load,
and as a result, the action will be interrupted by the script
with a red error. To prevent this from happening and the
script continues to work, you must use ignoring errors.
I talked about this in more detail in my course:
"BAS Basics on the example of the Freebitcoin crypto site".
Set Variable - The action allows you to initialize a variable in
your automation script for later use.
It is important to note that the variable has 3 types: integer
(int), expression (expression) and string (string).
SCRIPT LOGIC ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Increment variable - an action that allows you to increase
the number of specified variable by N by the "Set variable"
action. This is analogous to the mathematical summation
operation A+N, where N is any integer or fractional number,
depending on the type.
Set Global Variable - An action that sets a global variable
for the entire project. This kind of variables is used in all
threads at the same time, and not locally in threads.
For example, if you enable 4 threads, then all of the four
threads will know the global variable and you can build a
condition through it.
It is important to remember that resources are used to
implement global lists.
Increment global variable - an action similar to
incrementing a local variable, only works with global
variables.
SCRIPT LOGIC ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
A function call is an action that calls a function at any
position in the autoscript you specify. Functions are
containers containing action blocks. Each action within the
functions is performed sequentially. You will learn more
about functions in Chapter 3.
Get function parameter - an action that allows you to
specify the receipt of a parameter within a specific function.
FUNCTION_PARAMETER is a default variable.
Function parameters are special variables that are passed
as input to a function to ensure the execution of a task.
Return is an action that returns the result of a function. At
the input, the parameters of the function are given, and at
the output, "Return" (return) is obtained. Each function has
some result of execution.
SCRIPT LOGIC ACTIONS
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Calling a function in multiple threads is an action that
allows you to call a function in N number of threads right
inside the global thread.
FLOW
FUNCTION
FLOW 1
FLOW 2
FLOW N
TOOL ACTIONS
Log - serves to display any useful information for the
creator and user. For example, errors in work, any values
from the site, page code, element code, mail, accounts, etc.
Useful to use after or before executing any functions in your
autoscript.
Clear log - allows you to clear the entire log of the work
process. Useful when the number of entries in the log is
saturated and cleanup is required.
A result is an action that records specific results from your
script. For example, you register accounts on the site and
you need to see the account + password. Results can be
displayed in a maximum of 9 tabs.
Execute code - an action that allows you to call Javascript
code. The code is called within the thread, not the browser.
NOT TO BE CONFUSED with the Javascript action.
pavel duglas
pavel duglas
pavel duglas
TOOL ACTIONS
pavel duglas
pavel duglas
pavel duglas
Parse string (obsolete) - an action that allows you to split
and parse data by predefined separators. Standard
delimiters like ":", ";", ","
The action is great for multi-accounts when you need to
separate the email from the password in the list.
A similar action is "Parse CSV string", it will be discussed
later.
Random number - an action that generates a random
number from a given range of A and B. Works only with
integers and expressions.
RANDOM_NUMBER - a variable that stores the result of a
random combination.
Useful for randomizing actions in your browser. For
example, if 0 falls out, then click on the link on the site, and
if 1, then click on the button.
NETWORK ACTIONS
Set header - the action sets the headers inside the browser
(headers) that the site reads when entering.
There are 2 types of headers available by default:
-User-Agent
-Accept-Language
Save cookies - an action that saves the current cookies
from the browser.
Cookies are files with information received when visiting a
web resource. Used to save authorization on the site so as
not to re-enter your personal account.
Download cookies - an action similar to saving cookies only
for downloading them. Used to enter the personal account
of the site without re-authorization.
pavel duglas
pavel duglas
pavel duglas
NETWORK ACTIONS
pavel duglas
pavel duglas
pavel duglas
Load cookies from http client - action that loads cookies
directly from the HTTP client. It is used when you perform
operations on the site using HTTP client requests and you
want to use the saved cookies from it in the future in the
browser.
Allow cache - an action that allows cached data to be
stored on the site by mask.
A cache is data stored in a browser so that it can be
accessed more quickly when a page is loaded.
The mask is the input to find what you need to store in the
cache. If set to *, then any cache data will be saved to the
browser profile.
Works only on pages that will be loaded after this action is
called.
Disable cache is the opposite of enabling cache.
NETWORK ACTIONS
pavel duglas
pavel duglas
pavel duglas
Allow request - an action that allows you to allow
downloading requests coming from the site by mask. For
example, you may want to only allow specific URLs to be
loaded on a page without any extra ones.
Deny a request is the opposite of allowing a request. For
example, you do not want to load a request with a banner ad
on the site or images in *.gif format.
Clear cached data - an action that allows you to remove
information about all loaded Url from the cache.
Clear masks - an action that deletes all previously added
cache masks.
NETWORK ACTIONS
pavel duglas
pavel duglas
pavel duglas
Get request status - an action that allows you to track and
get the status of a request by mask. Useful when you want
to know if the URL you specified loaded correctly or not.
Request status = 200 (successfully processed request).
Was there a request - an action that tracks whether the
request specified by the mask has completed or not.
Returns 0 if not and 1 if yes.
Get last cache item - an action that allows you to get the
last item from the received cache data by mask. There is an
additional option to store the cache element in base64
format.
Get All Cache Items - The action gets all possible saved
cache items from the browser profile and saves them as a
JSON object.
NETWORK ACTIONS
pavel duglas
pavel duglas
pavel duglas
Block pop-ups - an action that disables all pop-ups on the
site. Called before the page is loaded. For example, you
don't want to see popup/popunder windows loading.
Allow pop-ups is the opposite of blocking.
Deny file downloads - an action that prohibits downloading
files from sites.
By default, browsers automatically download files, and if the
site calls for a download request, the browser will upload
the file to downloads.
Allow file uploads is the opposite of denying.
WAIT ACTIONS
Wait for Full Load - an action that allows you to wait until
the page is loaded until the end and the site request is
completed completely. By default, the wait is set to 60
seconds. This setting can be changed. The action waits
until all elements on the page have fully loaded, which can
take a long time.
Wait for Loading Url - an action that allows you to wait for a
specific URL to load when the page loads. Useful when you
want to wait for a specific outgoing request from a site.
Wait for browser address - an action that allows you to wait
for a specific URL in the browser's address bar to load.
Useful when you want to wait for, for example, the "/cabinet"
login page.
Wait for text - an action that waits for the specified text to
appear on the page of the loaded site. Useful when you need
to wait for loading, such as the words "Welcome" on a site.
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
WAIT ACTIONS
pavel duglas
pavel duglas
pavel duglas
Wait for css - an action that waits for the specified CSS
selector of the element to appear on the site page. Useful
when you want to wait for a button to appear, for example
with a specific ID (#button).
Wait for File Download - an action that waits until the file is
completely downloaded on the site page. It is used when
you need to wait for the file to be fully loaded on the site.
Sleep is an action that sets the sleep or wait in milliseconds
between the actions of your auto-automation script. You
can set a random value FROM and TO.
1 second will be equal to 1000 milliseconds when specified.
HTTP CLIENT ACTIONS
HTTP Client Proxy - an action that establishes a proxy
connection in the client when making requests to the site's
web server. An action similar to using a proxy in a browser,
only acting on the HTTP client.
HTTP Client Reset - an action that clears all headers,
cookies requests to zero state.
Complete reset of all client settings.
Get request - an action that allows you to make requests
using the GET, HEAD, DELETE, TRACE, OPTIONS methods.
Add. the field allows you to specify the request headers that
the site and the web server see when sending.
Used to get the site page code directly from the web server
or some data to use.
pavel duglas
pavel duglas
pavel duglas
HTTP CLIENT ACTIONS
pavel duglas
pavel duglas
pavel duglas
Post request - an action for executing requests using the
POST, PUT, PATCH methods. Used to make changes to the
site database or to get some results from it. For example, to
search for products on the site without a browser.
Unlike GET, a POST request has a Post Data field
(parameters passed in the request) and also an indication of
the content type (application/x-www-form-urlencoded,
multipart/form-data, application/json) and the encoding of
the request in which data. Add. the field allows you to
specify the request headers that the site and the web server
see when sending.
Download - the action allows you to download files from the
specified URL in the request. For example, it can be a
picture from a website, or a captcha, or a video or audio file.
An additional parameter is to specify the path where the file
will be saved.
HTTP CLIENT ACTIONS
pavel duglas
pavel duglas
pavel duglas
Current URL - an action that allows you to get the address
of the request from the last request sent and after the
redirect. Similar to the "Current URL" action in the browser,
but for the HTTP client.
Response content - an action that allows you to get the
response body of the sent request. For example, it can be a
site page code or data in JSON format. You can also specify
the appropriate request encoding to correctly display, for
example, Russian letters in the request.
Response status - an action that allows you to get the
status of the last request. As stated earlier, status = 200 is a
successfully processed request. There are a large number
of statuses, for example, 403, 500, 502 and so on.
Depending on the status, you can build further script logic.
HTTP CLIENT ACTIONS
pavel duglas
pavel duglas
pavel duglas
Get header - an action that allows you to get a specific
request header that came in the response. For example, it
may be some important parameter for authorization or
cookies.
HTTP Client Set Header - an action similar to "Set Header"
in the browser for the client only. Allows you to set any
headers for the request. For example, User-Agent and
others.
Clear Headers is an action that clears all request headers
that have been set using the "HTTP Client Set Header"
action.
HTTP Client Save Cookies - action that saves cookies from
the HTTP client to the SAVED_COOKIES variable. DO NOT
CONFUSE with saving cookies in the browser!
HTTP CLIENT ACTIONS
pavel duglas
pavel duglas
pavel duglas
HTTP Client Load Cookies - action that loads cookies into
the HTTP client.
Load cookies from browser - action that loads cookies
received from the browser. For example, if you logged in
through a browser, you can send cookies to the HTTP client
with this action so that it understands that it is also
authorized.
Exit after error/Was there an error/Get error text -
deprecated actions for error handling. Not used, ignoring
errors instead.
Xpath get xml/Xpath get each xml/Xpath get text/Xpath get
each text/Xpath get number of elements/Xpath check for
existence - actions that perform XPATH operations on the
received site page code. The action is applied to the
response of the last request!
DATE AND TIME ACTIONS
String To Date - The action converts a string to a date type.
The format can be set manually or selected from ready-
made options.
Date To String - The action converts a date to a string. The
format can be set manually or selected from ready-made
options.
Milliseconds To Date - The action converts milliseconds to
a date type. For example, 1669560997 translates to
11/27/2022 5:56:37 PM.
Date in Milliseconds - the reverse of the previous one.
Create Date - the action creates a new date with the
specified year, month, day, hour, minute, second,
millisecond, and time zone parameters.
pavel duglas
pavel duglas
pavel duglas
DATE AND TIME ACTIONS
pavel duglas
pavel duglas
pavel duglas
Change Date - the action changes the specified date
according to the specified year, month, day, hour, minute,
second, millisecond and time zone parameters.
Add Seconds To Date - action adds seconds, minutes,
hours, days to the specified date.
Difference Between Dates - The action returns the
operation of the difference between two dates in seconds.
For example, 11/27/2022 18:00:00 and 11/27/2022
17:00:00 will return a result of 3600 seconds (1 hour
difference).
Date Now is an action to get the current time and date.
Records the current date and time at the time this action
was called.
Change Date Time Zone - an action that changes the time
zone of the specified date from -840 minutes to +720
minutes.
DATE AND TIME ACTIONS
pavel duglas
pavel duglas
pavel duglas
Get Date Time Zone - actions to get the time zone from the
specified date.
Day of the Month/Day of the Week/Day of the Year - actions
to get the day of the month, week and year respectively.
Get Year From Date/Get Month From Date/Get Hours From
Date/Get Minutes From Date/Get Seconds From Date/Get
Milliseconds From Date - actions to get the year, month,
hours, minutes, seconds and milliseconds from the
specified date.
FILE SYSTEM ACTIONS
Read File - reads the entire contents of the file, with the
ability to read byte by byte and in base64 format.
Write To File - writes data to a file at the specified path and
3 options: adding a line ending character, appending the file,
and in base64 format.
File/Folder Information - returns information about files and
folders, namely existence, size, file folder, whether it is a
folder and last modified date.
Create Folder - creates a folder in the specified directory.
Delete File/Folder - deletes a file or folder from the
specified path.
Move File/Folder - moves a file or folder to the specified
path.
pavel duglas
pavel duglas
pavel duglas
FILE SYSTEM ACTIONS
pavel duglas
pavel duglas
pavel duglas
КCopy File/Folder - makes a copy of a folder or file at the
specified path.
File Search - searches for files by mask and content with
the ability to specify folders, files and subfolders.
Read File To List - reads data from a file into a list.
Write List To File - writes the list to a file with the possibility
of appending the file and adding a line ending character.
BROWSER FINGERPRINT ACTIONS
Get Fingerprint - Gets the fingerprint of the specified device
(Windows Chrome by default) from the Browser Automation
Studio servers. To get all types of devices, you need an API
key. It is also possible to adjust the browser resolution,
Perfect Canvas and getting prints from your base.
Apply Fingerprint - Applies and modifies a browser
fingerprint that contains: user agent, screen size, navigator
properties, fonts, and more.
Performance fingerprint - Misrepresents how a site
receives data about your browser and device. You can
specify time warp parameters and measurement time.
pavel duglas
pavel duglas
pavel duglas
ACTION LIST
Create List - creates a new list with initial three values (may
be empty).
Add Item - adds the specified data from the variable to the
end of the list.
Get Element - gets data from the list by index with the
possibility of deletion after receiving.
First Item - Gets the first row of data from the list, with the
option to delete it after getting it.
Last Item - Gets the last row of data from the list, with the
option to delete it after getting it.
Random Item - Gets a random string of data from a list, with
the option to delete it after getting it.
pavel duglas
pavel duglas
pavel duglas
ACTION LIST
pavel duglas
pavel duglas
pavel duglas
Insert Element - inserts a row of data at the specified
position in the list by index.
Set Item - Changes the data string at the specified list
position by index.
Remove By Index - removes an element at a specific index
from the list.
Remove By Value - removes all elements that have the
given value from the list.
Number of Items - Gets the number of rows or items in the
list.
Contains - checks if the list contains the exact specified
value. You should search for the entire line!
Sublist - gets a sublist consisting of a certain number of
elements of the original list in the specified FROM and TO
range.
ACTION LIST
pavel duglas
pavel duglas
pavel duglas
Delete Part - removes a specific range of elements from the
list.
Remove Duplicates - Removes duplicate values, excluding
blank lines.
Merge to String - Merges all elements of the list into a
string using the specified delimiter.
Parse String - splits a string into a list by a specified
delimiter.
Get Index - Gets the index of the element with a specific
value from the list.
Copy List - makes a complete copy of the specified list.
Sort - Sorts all elements of the list in alphabetical order.
ACTION LIST
pavel duglas
pavel duglas
pavel duglas
Shuffle List - shuffles all the elements of the list in random
order.
Merge Lists - adds all the elements from one list to another.
Compare Lists - compares two lists and returns true if the
lists contain the same values.
ACTION WAY
Get filename from path - Gets the last part of the specified
path. For example, if the path is
"C:/duglas/bas/pavelduglas.txt/", then the action will return
"pavelduglas.txt".
Get folder from path - Gets the directory of the specified
path.
Get File Extension - Gets the file extension of the specified
path.
Is an absolute path - Check if the specified path is absolute.
For example, if the path is "/duglas/bar", then the action will
return true, and if the path is "duglas/bas" or "bas/", then the
action will return false.
pavel duglas
pavel duglas
pavel duglas
ACTION WAY
pavel duglas
pavel duglas
pavel duglas
Merge Paths - Merges several paths into one. For example,
if the parameters "Path 1" and "Path 2" are specified, whose
values are respectively "/duglas" and "/bas", then the action
will return "/duglas/bas".
Normalize path - this action will return a normalized path,
multiple slashes will be replaced with single ones,
backslashes "" will be replaced with regular "/", segments
".." and "." will be resolved.
Parse path - parses the path into the elements root,
directory, last part, file extension, file name, list of path
elements. This action will store each element of the path
into its own variable.
ACTION WAY
pavel duglas
pavel duglas
pavel duglas
Project File Path - Gets the full path to the project file. This
action will return the full path to the project file. If the script
is not compiled, then this action will return the path to the
open project file. And if the script is compiled, then this
action will return the path to the project.xml file located in
the root folder of the engine.
Project Directory Path - Gets the full path to the project
directory. This action will return the full path to the project
directory.
Installation Path - Gets the full installation path of the BAS
engine. This action will return the full path to the directory
where the executable is located.
Get system path - Gets the system path with the specified
name. For example, User Profile - Path to the profile of the
current user. Example: "C:/Users/Duglas".
ACTIONS WORKING WITH PROFILES
Create or switch to a permanent profile - creates or
switches to a profile at the specified path, loading proxy and
device fingerprint (by default). This action creates a folder
and stores cookies, cache, localstorage, etc. there, making it
a complete portable browser profile. If the specified folder
already exists, the browser will load the profile data from it.
Switch to temporary profile - switches to a temporary
profile, which is used in the recording mode by default
unless otherwise specified in the automation script. If a
temporary profile is used, a new temporary profile will be
created.
Copy profile to another folder - copies the current profile to
the specified folder. It will work correctly only if the profile is
not busy with any thread.
pavel duglas
pavel duglas
pavel duglas
ACTIONS WORKING WITH PROFILES
pavel Duglas
pavel Duglas
pavel Duglas
Delete profile - deletes the specified profile.
You can delete the current profile by running this action with
an empty string. In this case, the browser will be stopped.
After deleting the current profile, a new temporary profile
will be used. This action will only stop the browser if you
delete the current profile.
Get information about the current profile - gets the
necessary information about the profile, such as: profile ID,
whether proxies are used, browser fingerprint.
RESOURCE ACTIONS
Create Resource - creates a new resource. Each resource
contains a container of data, such as lines from a file. Unlike
lists, the resource system helps to distribute data across
threads, and also handles various situations that arise when
data is used concurrently in multithreaded mode. You can
specify the number of successful and unsuccessful runs,
concurrent use, and intervals between uses.
There are also 2 additional parameter.
Wait for appearance is a very important parameter, it
determines the behavior in case when the list of resource
data is empty. If this setting is enabled, then the action that
receives the resource will wait until the data is available, if
the setting is not selected, then the action will fail instantly.
When the 'Greedy' setting is selected, the resource system
will try to get the same row again and again until that row
exhausts the number of successes or failures, and only then
the next row becomes available.
pavel duglas
pavel duglas
pavel duglas
RESOURCE ACTIONS
pavel duglas
pavel duglas
pavel duglas
Remove Current Item - removes the current value from the
resource. The current line is the line that was last received
in the current thread. For example, if you have a 'Proxy'
resource and that proxy is banned from the target site, you
can use this action with the resource name 'Proxy'. This will
remove the proxy from the file and it will never be used
again for the duration of the script.
Add Element - Adds a new element to the resource. For
example, add a new line to a file or a new record to a
database.
Resource Location - Gets the path where the resource is
loaded from.
Resource To List - copies data from a resource to a list.
List To Resource - Copies a list to a resource.
RESOURCE ACTIONS
pavel duglas
pavel duglas
pavel duglas
Reload Resource - reloads lines from a file or record from a
database. The resource data will be completely replaced
with new ones. All states of all data (the number of
successes and failures of the resource) will also be reset. If
some rows were deleted, this information will also be lost.
Number of Elements In Resource - Gets the number of
elements in the resource at the current moment. With this
action, you can process the output of the result "All data has
been processed for the resource".
ACTION LINE
Is a string - checks if the specified data is a string. This
action will return true or false depending on whether the
specified data is a string.
Not an empty string - checks if the specified data is not an
empty string. This action will return true or false depending
on whether the specified data is not an empty string. For
example, if "Douglas BAS" is specified, then the action will
return true, and if "" or 123 is specified, then the action will
return false.
To String - Converts the specified data to a string. This
action will return a string representation of the specified
data. This action works with any data type. For example, if
123 is specified, then the action will return "123", and if true
is specified, then the action will return "true".
To Number - Converts the specified string to a number.
This action will return the numeric representation of the
specified string. For example, if "123" is specified, then the
action will return 123, and if "123.45" is specified, then the
action will return 123.45.
pavel duglas
pavel duglas
pavel duglas
ACTION LINE
pavel duglas
pavel duglas
pavel duglas
Format number - formats and converts the specified
number to a string. With this action, you can bring the
number into a more readable form, for example, for further
output to the log. This action will return a formatted string
representation of the specified number.
For example, the number 1967567.3245 will be converted to
the string "1,967,567.3245" if a comma is specified in the
Decimal Separator parameter and a space is specified in the
Thousand Separator parameter.
Number of substrings - Gets the number of substrings in a
string. This action will return a number equal to the number
of substrings in the string.
For example, if the string "Duglas Bass" and the substring
"ac" are specified, then the action will return 2, and if the
string "Pavel Duglas" and the substring "Pavel" are specified,
the action will return 1.
ACTION LINE
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Get Substring - Gets a substring from a string. This action
will return the resulting substring. For example, to get the
substring "example" from the string "Just an example of a
string", you need to specify 7 in the "From index" parameter,
and 13 in the "To index" parameter.
Get substring between - gets a substring between two
substrings. This action will return the resulting substring.
For example, to get the substring "Paul Douglas" from the
string "<h1>Paul Douglas</h1>", you need to specify "<h1>"
in the "Left substring" parameter, and specify "</h1> in the
"Right substring" parameter ".
Delete part of a string - deletes a part of a string and/or
inserts a new one. This action can either remove part of the
string, or insert a new part, or both. This action will return
the string obtained as a result of all manipulations.
ACTION LINE
PAVEL DUGLAS
PAVEL DUGLAS
PAVEL DUGLAS
Lowercase - Converts all letters in a string to lowercase.
This action will return a string in which all letters will be
lowercase and the rest of the characters will remain
unchanged. For example, the string "DUGLAS" would be
converted to the string "Duglas" and the string "Paul
Douglas" would be converted to the string "Pavel Duglas".
Upper Case - Converts all letters in a string to upper case.
This action will return a string in which all letters will be
uppercase and the rest of the characters will remain
unchanged. For example, the string "bas" will be converted
to the string "BAS" and the string "browser bas" will be
converted to the string "BAS BROWSER".
Contains - Check if a string contains a substring.
This action will return true or false depending on whether
the string contains a substring. For example, if the string
"Test text" and the substring "text" are specified, then the
action will return true, and if the string "Just an example
string" and the substring "test" are specified, the action will
return false.
ACTION LINE
pavel duglas
pavel duglas
pavel duglas
Get Length - Gets the number of characters from a string.
This action will return a number equal to the number of
characters in the string. For example, if the string "Test text"
is specified, then the action will return 14, and if the string
"Just an example string" is specified, then the action will
return 20.
Capitalized Word - Converts the first letter of the word to
upper case. This action will return a string in which the first
letter is uppercase and the rest remain unchanged.
For example, if the string "test text" is specified, then the
action will return "Test text", and if the string "just an
example string" is specified, then the action will return "Just
an example string".
Number of words - get the number of words from a string.
This action will return a number equal to the number of
words in the string. For example, if the string "Test text" is
specified, then the action will return 2, and if the string "Just
an example string" is specified, then the action will return 3.
ACTION LINE
pavel duglas
pavel duglas
pavel duglas
Split sentence into words - splits a string into words. This
action will return a list containing the words obtained from
the string. For example, if the string "Test text" is specified,
then the action will return ["Test","text"], and if the string
"Just an example string." is specified, then the action will
return ["Just","example","strings"] .
Split text into sentences - splits the string into sentences.
This action will return a list containing the sentences
retrieved from the string. For example, if the string "Just
sample text. Test text, string" is specified, then the action
will return ["Just sample text.","Test text, string"], and if the
string "Test text! Test text! Test text!" , then the action will
return ["Test text!","Test text!","Test text!"].
ACTION LINE
pavel duglas
pavel duglas
pavel duglas
Find substring - finds a substring in a string. This action will
return a number equal to the index of the beginning of the
first substring found, or -1 if the substring was not found.
For example, if the string "Test text" and the substring "text"
are specified, then the action will return 9, and if the string
"Just an example string" and the substring "test" are
specified, the action will return -1.
Starts with - checks if the string starts with the specified
substring. This action will return true or false depending on
whether the string starts with the specified substring. The
result can be used together with the "If" action. For example,
if the string "Test text" and the substring "Test" are
specified, then the action will return true, and if the string
"Just an example string" and the substring "example" are
specified, then the action will return false.
ACTION LINE
pavel duglas
pavel duglas
pavel duglas
Ends with - checks if the string ends with the specified
substring. This action will return true or false depending on
whether the string ends with the specified substring. The
result can be used together with the "If" action. For example,
if the string "Test text" and the substring "text" are specified,
then the action will return true, and if the string "Just an
example string" and the substring "example" are specified,
the action will return false.
Insert into - inserts a substring into a string. This action will
return the string resulting from inserting the substring. For
example, if the string "Just strings", the substring "example"
and index 7 are specified, then the action will return "Just
sample string".
Base64 encode/decode - encodes or decodes a string to
base64. Base64 encoding represents binary data as an ascii
string. BAS stores binary data as base64 strings. These can
be files, images, videos, etc.
ACTION LINE
pavel duglas
pavel duglas
pavel duglas
Template - creates a new variable or changes an existing
one to multiline text. Can replace spintax, resources,
variables with their values. An action can be used to load a
template from a file or generate it dynamically. It is best
suited if you need to generate text for posting.
Replace String - This action searches the string specified by
the "Original String" parameter for the values specified by the
"Replace From" parameter and replaces them with the value
specified by the "Replace With" parameter. This action
replaces all occurrences, not just the very first one.
Random string - will generate a random string with the given
length and allowed characters.
Newline character - will create a string containing a newline
character. This action will return a string containing a line
break.
ACTION LINE
pavel duglas
pavel duglas
pavel duglas
Merge Strings - combines multiple strings into one. This
action will return a string made up of all the specified strings.
For example, if the parameters "Line 1" and "Line 2" are
specified, with values equal to "Just an example" and
"Strings" respectively, then the action will return "Just an
example of a line".
Romanize - converts all letters to Latin.
This action will return a string in which all letters will be
romanized, and the rest of the characters will remain
unchanged. For example, the string "ỆᶍǍᶆṔƚÉ
áéíóúýčďěňřšťžů" would be converted to the string "ExAmPlE
aeiouycdenrstzu" and the string "Hello world!" will be
converted to the string "Privet mir!".
Decline - declines the word depending on the specified
number. This action will return one of the three words
matching the declension to the specified number. For
example, if the words "account", "account", "accounts" are
specified and the number is 5, then the action will return
"accounts", and if the number is 22, then the action will return
"accounts".
ACTION LINE
pavel duglas
pavel duglas
pavel duglas
Parse CSV string - parses a CSV string into elements. This
action will parse the string according to the specified
delimiters and store the parsed data according to the
specified variables. For example, if the string
"email@gmail.com:mypass1" and the variables
USERNAME,PASSWORD are specified, then the action will
store "email@gmail.com" in the [[USERNAME]] variable and
"mypass1" in the [[PASSWORD]] variable.
Create CSV string - creates a CSV string from several
elements. This action will return a CSV string composed of
all the specified elements separated by the specified
character. For example, if the parameters "Element 1" and
"Element 2" are specified, the values of which are
respectively equal to "test" and "text", and the separator is ":",
then the action will return "test:text".
Align - aligns the line at the edges. This action will return a
string, from the beginning and end of which unnecessary
characters, such as spaces, line breaks, tabs, will be cut off.
ACTION LINE
pavel duglas
pavel duglas
pavel duglas
Clear - clears the string of unnecessary characters. This
action will return a string from which all unnecessary
characters will be removed, such as multiple spaces, line
breaks, tabs. For example, if the string "Test text" is
specified, then the action will return "Test text", and if the
string "Just an example string" is specified, then the action
will return "Just an example string".
Extract all emails - Extracts all email addresses from a
string. This action will return a list containing the email
addresses obtained from the string. For example, if the string
"Test text is test@gmail.com. Just an example text is
example@gmail.com.", then the action will return
["test@gmail.com", "example@gmail.com"].
Extract all links - extracts all links from the string.
This action will return a list containing the links obtained
from the string. For example, if the string "Test text
http://test.com, string test example.org" is specified, then
the action will return ["http://test.com", "example.org"].
ACTION LINE
pavel duglas
pavel duglas
pavel duglas
Extract all phone numbers - extracts all phone numbers from
a string. This action will return a list containing the phone
numbers obtained from the string. For example, if the string
"Test text is 89001112233. Just sample text is +7 900 999
4455.", then the action will return ["89001112233", "+7 900
999 4455"].
Special HTML characters encode/decode - encodes or
decodes a string containing special HTML characters.
This action can work in two modes: encoding and decoding.
The modes can be switched by the parameter "Encrypt or
decrypt".
For example, if the string "<div>Blah blah blah</div>" is
specified and encode mode is enabled, the action will return
"&lt;div&gt;Blah blah blah&lt;/div&gt;". And if the string
"&lt;h1&gt;Text title&lt;/h1&gt;" and decode mode is enabled,
the action will return "<h1>Text title</h1>"
XPATH ACTIONS
xpath get xml - performs an xpath query and finds the xml of
the first element that matches the query. This action looks
for the element's xml (html code). There is additional option
to terminate with an error or just return an empty value. For
example, if there is a page code "<html><h3>BAS</h3><br>
<h3>BAS2</h3></html>", then upon request //h3 will return 1
value equal to "<h3>BAS </h3>".
xpath get each xml - performs an xpath query and finds the
xml of each element that matches the query. From the
previous example, making a query //h3 will return a list of
values ["<h3>BAS</h3>","<h3>BAS2</h3>"].
xpath get text - performs an xpath query and finds the text of
the first element that matches the query. The result of this
action is text. For example, if an element has xml
<div>Mr.Duglas</div>, then its text is 'Mr.Duglas'.
pavel duglas
pavel duglas
pavel duglas
XPATH ACTIONS
pavel duglas
pavel duglas
pavel duglas
xpath get each text - executes an xpath query and finds the
text of all elements that match the query. The result of this
action is a list, each element of which is a text. For example,
if an element has xml <div>word</div>, then its text is 'word'.
Xpath get number of elements - makes an xpath query and
counts the number of elements received. For example, if the
element has xml <div>word</div><div>word2</div>
<div>word3</div> and you make a request //div then it will
return value = 3.
Xpath Exist Check - Checks if there is at least one element
that matches the xpath query. For example, if the element
has xml <div>word</div> in the specified page code, it will
return true, otherwise false.
SCRIPT STATISTICS ACTIONS
Thread number - gets the number of the currently running
thread into the THREAD_INDEX variable.
Successful Executions - Gets the number of successful
executions of the current script and stores it in the
SUCCESS_NUMBER variable.
Failed Executions - Gets the number of failed executions of
the current script and stores it in the FAIL_NUMBER
variable.
pavel duglas
pavel duglas
pavel duglas
REGULAR EXPRESSION ACTIONS
First occurrence - will apply the regular expression, get the
first piece of text that matches it, extract the groups of
matches. Regular expression is a convenient mechanism for
string processing. It helps to search for strings, split a string
into parts, etc. You can think of a regular expression as
some kind of mask or pattern that a given string must
match. An example of how a regular expression works can
be described as follows: 'Find in the text a sequence of
letters followed by the @ symbol, followed by any sequence
of letters, or a dot'. Converting this description to a regular
expression, w+@[a-zA-Z.]+ is a simple expression to
search for mail in the given text.
Extract all data - extracts all data from the specified string
that matches the regular expression. For example, if the
string is abc 123 xyz 456 and the regular expression is d+
then the regular expression will extract all the numbers
found in the text and the resulting list will be ["123", "456"].
pavel duglas
pavel duglas
pavel duglas
REGULAR EXPRESSION ACTIONS
pavel duglas
pavel duglas
pavel duglas
Whether the string matches the regular expression -
checks if the string matches the regular expression, returns
the result to a variable. The variable specified in the 'Does
string match regexp' parameter will be true or false
depending on whether the string matches the regular
expression.
Split string - splits the text with a regular expression. For
example, if the string is word1,word2;word3|word4 and the
regular expression is [,;|] then the result will contain a list
with all the words ["word1", "word2", "word3", "word4"].
Replace String - Applies a regular expression, replacing all
matches with the target string. For example, if the string
Random text login1@yahoo.com login2@outlook.com and
the regular expression @[^.]*.[s]* (this regular expression
will match the @ character along with the mail domain) ,
and the parameter ' Replace with' is @gmail.com, the result
will be Random text login1@gmail.com login2@gmail.com.
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)
Browser Automation Studio GUIDE (Pavel Duglas)

Contenu connexe

Similaire à Browser Automation Studio GUIDE (Pavel Duglas)

Similaire à Browser Automation Studio GUIDE (Pavel Duglas) (20)

html-css-bootstrap-javascript-and-jquery
html-css-bootstrap-javascript-and-jqueryhtml-css-bootstrap-javascript-and-jquery
html-css-bootstrap-javascript-and-jquery
 
Chuck Moore Book 2012 01 26
Chuck Moore Book 2012 01 26Chuck Moore Book 2012 01 26
Chuck Moore Book 2012 01 26
 
Bwl red book
Bwl red bookBwl red book
Bwl red book
 
Red book Blueworks Live
Red book Blueworks LiveRed book Blueworks Live
Red book Blueworks Live
 
Dc250 training information_guide
Dc250 training information_guideDc250 training information_guide
Dc250 training information_guide
 
Dc250 training information_guide
Dc250 training information_guideDc250 training information_guide
Dc250 training information_guide
 
Threading in c#
Threading in c#Threading in c#
Threading in c#
 
Cake php cookbook
Cake php cookbookCake php cookbook
Cake php cookbook
 
Acro js guide
Acro js guideAcro js guide
Acro js guide
 
Automated antlr tree walker
Automated antlr tree walkerAutomated antlr tree walker
Automated antlr tree walker
 
E views 6 users guide i
E views 6 users guide iE views 6 users guide i
E views 6 users guide i
 
StresStimulus Load Testing Tool User Guide
StresStimulus Load Testing Tool User GuideStresStimulus Load Testing Tool User Guide
StresStimulus Load Testing Tool User Guide
 
R admin
R adminR admin
R admin
 
Zambak it excel2010
Zambak it excel2010Zambak it excel2010
Zambak it excel2010
 
Manual flash
Manual flashManual flash
Manual flash
 
Odoo development
Odoo developmentOdoo development
Odoo development
 
Mastering Oracle PL/SQL: Practical Solutions
Mastering Oracle PL/SQL: Practical SolutionsMastering Oracle PL/SQL: Practical Solutions
Mastering Oracle PL/SQL: Practical Solutions
 
plsqladvanced.pdf
plsqladvanced.pdfplsqladvanced.pdf
plsqladvanced.pdf
 
Abs guide
Abs guideAbs guide
Abs guide
 
Corel draw learning file
Corel draw learning fileCorel draw learning file
Corel draw learning file
 

Dernier

On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 

Dernier (20)

On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 

Browser Automation Studio GUIDE (Pavel Duglas)

  • 1. Pavel Duglas A P O C K E T G U I D E F O R W E B A U T O M A T I O N BROWSER AUTOMATION STUDIO
  • 2. INTRODUCTION..............................7 ГЛАВА 1. BAS МОДУЛИ.................17 CONTENT Use with BAS..............................................7 About the author.........................................8 How to use the guide................................10 Modules -> Action Blocks-> Functions -> Auto-Scripts..........................................13 Interaction Types in BAS..........................14 Parameters max. mouse movement........16 Browser...................................................23 Script Logic.............................................26 Tools ......................................................29 Network...................................................31 Waiting....................................................33 HTTP Client.............................................35 Date and Time.........................................38 File System.............................................42 Changing Browser Fingerprints.............................................44 List..........................................................47 Path.........................................................49 Working with Profiles..............................51 MAIN MODULES............................20 Open/Close Browser.....................................66 Clipboard ......................................................68 Idle Emulation...............................................70 Asynchronous Function Calls...............................................................72 Image Processing..........................................75 Mail.................................................................77 Phone Confirmation.......................................79 Process Management....................................81 SMTP Client (Send Mail)................................83 Telegram........................................................85 Time Zone......................................................87 Interaction with the User................................................................89 Built-in Languages.....................................................91 Excel..............................................................93 Database.......................................................96 Resources..................................................53 Line............................................................55 XPATH.......................................................57 JSON..........................................................59 Script Statistics.........................................62 Regular Expressions..................................64 ADDITIONAL MODULES....................66
  • 3. CONTENT URL..........................................................98 Check sum.............................................100 Achive.....................................................102 FTP.........................................................104 SQL.........................................................106 MANAGER MODULE.............................108 CHAPTER 2. ACTION BLOCKS.....................................109 BASIC ACTION BLOCKS........................110 Browser Actions.........................110 Script Logic Actions...................120 Tool Actions..............................129 Network Actions......................................131 Waiting Actions..........................136 HTTP Client Actions...................138 Date and Time Actions................143 File system actions......................................146 Browser Fingerprint Actions......................................148 List Actions...............................149 Path Actions..............................153 Profile Actions......................................156 Actions with Resources...................158 Actions with Strings........................161 xpath Actions..................................174 Script Statistics Actions .................176 Regular Expression Actions...........................................177 Browser Opening and Closing Actions...........................................179 Clipboard Actions............................180 Idle Emulation Actions ....................181 Actions of asynchronous functions...182 Image Processing Actions................183 Mail Actions....................................186 Phone Verification Actions...............190 Process Control Actions ..................193 SMTP Client Action..........................194 telegram actions..............................195 Time Zone Actions...........................196 User Interaction Actions............................................198 Actions of built-in languages.............200 Excel Actions....................................201 Database Actions..............................206 URL Actions......................................210 Checksum Actions............................213 Backup Actions................................214 FTP Actions.....................................215 SQL Actions.....................................219
  • 4. CONTENT AUXILIARY ACTION BLOCKS................224 Direct Browser Control...................................224 Move Mouse and Click on Element..................................225 Click on Element.....................226 Move Mouse over Element..................................227 Move Mouse and Click.............228 Click......................................229 Move Mouse...........................230 Entering Text.......................................231 Clear Field.............................232 Examine the Element on the Page.....................................233 Start Cycle ...........................234 Tabs.....................................235 Check Existence of Element................................238 Get Item Code.......................239 Get Text................................240 Execute Javascript on an Element................................241 Screenshot............................242 Solve Captcha ......................243 Solve Captcha with Clicks.........244 Solve FunCaptcha.....................245 Solve HCaptcha........................246 Solve Recaptcha 2.0..................247 Wait for Element to Appear........248 Scrolling to an Element..............249 Get Element Coordinates............250 Get Number of Items..................251 Get Element Style......................252 Start Dragging on an Element....................................253 End Drag on Element ................254 Start Drag................................255 Finish Drag..............................256 Get Link Address......................257 Get Element Attribute...............258 Set Element Attribute...............259 Set Combobox Value................260 Set ComboBox Index................261 Select a Random Item from a Combobox...............................262 JSON actions..........................222
  • 5. CONTENT GRAPHIC ACTION BLOCKS....................263 Move Mouse and Click on Element......................................264 Click on an Element....................264 Move Mouse over Element......................................264 Entering text...............................265 Clear Field..................................265 Check for the Existence of an Element......................................265 Wait for the Element to Appear.......................................266 Get Element Coordinates................................266 Start Dragging on an Element......................................266 End Dragging on Element......................................266 CHAPTER 3 : FUNCTIONS................................267 CHAPTER 4: AUTO SCRIPTS...........270 MAIN TYPES OF AUTOMATIC TASKS............................................271 Auto Registration .....................271 Parsing....................................273 Checking Accounts for Valid (Checker) ................................275 Mailer/Spammer.......................277 Chat-Bot...................................279 Auto-Posting............................281 Auto-Filler (form filler without registering as GooglePlay) .......283 Content Generator....................285 File Manager............................287 String Manager.........................289 Audio and Media Content Processor.................................291 Monitoring and Data Analysis....293 Bonus Collector........................295 Clicker.....................................297 Desktop Application Automator................................299 Android App Automator................................301
  • 6. CONTENT Browser Extensions Automator .................................................................303 API Integrator..........................................................................................305 Automator Antidetect Browsers.................................................................307 Cheater of Social Activity.........................................................................309 Auto-trader .............................................................................................311 Bruteforce ..............................................................................................313 Web Application Tester............................................................................315 Automator of Advertising Rooms ..............................................................317 Business Process Automation...................................................................319 Employee Task Automator ........................................................................321 Site Creation Automator on Constructors...................................................322 Auto-Money Transfer................................................................................324 BAS USEFUL RESOURCES.......................................................................326 MY CONTACTS....................................................................................328
  • 7. This guide has been designed to help beginners learn BAS more quickly and effectively. All modules, action blocks, functions and scripts are used inside the constructor. Install and start creating! APP.BROWSERAUTOMATIONSTUDIO.ONLINE FREE CONSTRUCTOR DOWNLOAD AND USE BROWSER AUTOMATION STUDIO Pavel Duglas Pavel Duglas Pavel Duglas
  • 8. ABOUT THE AUTHOR developed 888+ bots for various tasks earned 4,867,198+ rubles net profit automated all business processes went on a permanent passive income My name is Pavel Duglas and I am a professional RPA Developer and a successful digital entrepreneur. One of the automation tools for me is BAS. With the help of BAS for 3.5 years: In addition, I founded my online BAS school, the DefiNova auto-bot marketplace, I am the author of many online projects on the Internet, I have hundreds of cases in the field of automation. Pavel duglas Pavel duglas Pavel duglas
  • 9. ABOUT THE AUTHOR I have helped hundreds of different clients implement automation in their business and online earnings. I want to express my deep gratitude to the BAS developers and his team for making such a huge contribution and developing the truly best automation tool on the market. This guide is for those who want to learn a new IT profession and become a BAS developer in the shortest possible time. And now I will not delay you, dive in and study BAS avidly, because this is really our future! pavel duglas pavel duglas pavel duglas
  • 10. HOW TO USE THE GUIDE? THE MAIN GOAL OF THE GUIDE: "TAKE AND AUTOMATE" Many newbies to Browser Automation Studio ask a lot of questions about modules, actions, and even simply cannot find the right block for their scripts. Also, the main problem is that many do not understand how to apply automation in everyday routine operations. In Chapter 1, you will get acquainted with the BAS modules and understand how they work. In Chapter 2, you will learn about action blocks and how to use them. In Chapter 3, you will learn about the functions where action blocks are placed. Finally, in Chapter 4, you will learn about the main use cases for automation in Internet activities. EACH CHAPTER CONTAINS PRACTICAL INFORMATION pavel duglas pavel duglas pavel duglas
  • 11. HOW TO USE THE GUIDE? This book won't tell you "How" to write automation scripts with Browser Automation Studio, but it will show you the right way to learn the designer. The most important thing in the first step is to learn the basic components and modules of BAS before you start creating. At the second stage, it is to understand with specific examples where automation can be applied. And at the third stage - to automate all routine processes for your own, and after that, user needs. Go through all the steps and learn BAS. ALWAYS KEEP THE GUIDE AT HAND AND USE IT WHILE USING THE CONSTRUCTOR. pavel duglas pavel duglas pavel duglas
  • 12. HOW TO USE THE GUIDE? Imagine that the entire automation script is built on "LEGO" bricks. You probably loved this activity as a child, and now it's time to remember and become like a child's fantasy. I am going to tell you about several types of automatic scripts that I use every day. But this is only a small part of what can be generally imagined ... With BAS, you can even turn on your refrigerator's light bulb if you want, your imagination doesn't have to be limited to my examples. But the auto script examples will help you get started faster and easier with Browser Automation Studio. pavel duglas pavel duglas pavel duglas
  • 13. BAS WORKLAB MODULES ACTION BLOCKS FUNCTIONS AUTO SCRIPTS BAS STRUCTURE pavel duglas pavel duglas pavel duglas
  • 14. INTERACTION TYPES IN BAS BAS internally has 2 different types of interaction with sites: 1. Opening the URL of the pages in the browser (normal page loading as in your regular browser on a PC) 2. Sending requests to the web page server directly without opening pages in the browser and rendering the visual component. HTTP CLIENT WEB BROWSER pavel duglas pavel duglas pavel duglas
  • 15. WEB-BROWSER HTTP-CLIENT When what interaction type to use? It should be understood that loading a page in a browser loads computer resources, therefore, more than 100-200 threads will not work. If you need to work in 1000 threads or more, then you should use an HTTP client that is optimized for such loads and works completely without a browser. pavel duglas pavel duglas pavel duglas
  • 16. Mouse maximum speed settings SPEED 10000 ATTRACTION 6000 DEFLECTION 5000 PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 17. CHAPTER 1 BAS MODULES "Systems are made up of subsystems, subsystems are made up of subsystems, and so on ad infinitum - that's why we design from the bottom up." Alan Perlis pavel duglas pavel duglas pavel duglas
  • 18. BAS MODULES Imagine that you go to the store and take a grocery basket with you. In the store, you liked the Lego set in a beautiful box and you put it in the basket. But the box is not empty, but consists of small parts called LEGO. The basket is the module in BAS, in which you put lego sets (functions). And each separate set contains small parts of the LEGO constructor (action blocks). Each module is unique and contains the necessary components (action blocks) that you will use when creating functions and automatic scripts. pavel duglas pavel duglas pavel duglas
  • 19. Concept modular structure ACTION SET The developer uses a set of actions to solve a problem FUNCTION Actions are placed in special containers for multiple calls with parameters MODULE Functions are used to create special blocks called modules for connecting to projects pavel duglas pavel duglas pavel duglas
  • 20. BAS MODULES Main Modules in BAS are divided into 2 main types: 1. 2. Additional Core modules are a set of action blocks that you will use most often in automation. The main modules are: Browser, Script Logic, Tools, Network, Wait, HTTP Client, Date and Time, File System, Browser Fingerprint, List, Path, Profile Management, Resources, String, XPATH, JSON, Script Statistics, regular expressions. pavel duglas pavel duglas pavel duglas
  • 21. BAS MODULES Each of these modules helps to solve a specific problem. For example, the browser module allows you to call a "Download" action that loads the site you specify at the URL. We will analyze all of these modules separately and see what other functions they are intended for. Additional modules are a set of action blocks that you will use as needed and you can do without them if you do not have a specific task for using them. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 22. BAS MODULES These include: open/close browser, clipboard, idle emulation, asynchronous function call, image processing, mail, phone confirmation, process control, send email, Telegram, timezone, user interaction, built-in languages, Excel, Database, URL, checksum, archiving, FTP, SQL. For example, the image processing module helps you edit uploaded photos and overlay any text on them. The Telegram module is used to send notifications to a convenient messenger. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 23. BROWSER MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 24. "BROWSER" MODULE The "Browser" module is used to work with actions (action blocks) that do not require a specific element to be applied in the browser. The "Browser" module includes the following actions: load, current URL, previous page, page code, text input, resolution, get permission and cursor position, proxy, javascript, execute on each page load, reset, open file dialog, start dragging the file , prompt window, http authentication, scrolling, screenshot, solve captcha, recaptcha v3, PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 25. "BROWSER" MODULE solve captcha with clicks, solved incorrectly, timeout, browser settings, push extension button, touch screen mode, mouse settings, notifications. In the future, this list will be supplemented as new features and actions may appear. There are plenty of actions in the "Browser" module to create a simple bot already. However, each of the actions must be combined with each other to get a full-fledged automation scenario. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 26. SCRIPT LOGIC MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 27. SCRIPT LOGIC MODULE The "Script Logic" module is used to execute conditions, loops, set local and global variables, sum them up, call functions in 1 or more threads, terminate threads in successful and unsuccessful forms, as well as to interrupt the script. The "Script Logic" module includes the following actions: IF, WHILE, FOR, FOREACH, Break, Continue, Success, Fail, Abort Script, Set Label, Jump to Label, Ignore Errors, Set Variable, Increment Variable, Set Global Variable, Increment Global. variable PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 28. SCRIPT LOGIC MODULE Call Function, Get Function Parameter, Return, Call Function in Multiple Threads. You will use this module very often in your automator work, since you will have to work with loops, variables and conditions, as well as with function calls. But don't worry, I'll go into more detail about each action below so you can understand what they're used for and how to use them. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 29. TOOLS MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 30. TOOLS MODULE The "Tools" module is used to display useful information in the log, display the results of the script, execute Javascript code inside the script, parse a string, and generate random numbers. The module includes the following actions: log, clear log, result, execute code, parse string, random number. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 31. NETWORK MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 32. NETWORK MODULE The "Network" module is used to work with the browser's network settings such as: cache and its elements, cookies, browser headers, request masks and statuses, prohibitions and permissions for file downloads and pop-up windows. The module includes: set header, save and load cookies, load cookies from http client, enable cache, disable cache, allow request, disable request, clear cache. data, clear masks, get request status, whether there was a request, get last cache item, get all cache items, disable and allow pop-ups and file downloads. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 33. WAITING MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 34. WAITING MODULE The "Waiting" module is used to cause pauses between the actions of your automatic scripts, to wait for selectors, texts, download files, browser address, load a specific site URL, and also for the full page load. The module is relatively small and contains: wait for full load, wait for URL to load, wait for browser address, wait for text, wait for CSS, wait for file to load, sleep. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 35. HTTP CLIENT MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 36. HTTP CLIENT MODULE The "Http-Client" module is used to work with requests to the web server and site, bypassing its visual component. That is, the work is carried out entirely without a browser. The module is popular with professional developers who have a good understanding of the server side of sites and know how to interact with it. The module contains the following actions: HTTP client proxy, client reset, Get request, Post request, Download, Current URL, response content, response status, get header, set header, clear headers, PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 37. HTTP CLIENT MODULE save and load cookies, load cookies from browser, exit after error, did it occur, get error text, Xpath get XML, each XML, get text, get each text, get number of elements, check for existence. You won't need HTTP requests initially, since almost all tasks are performed through the browser, but it will take a little longer. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 38. DATE AND TIME MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 39. DATE AND TIME MODULE The "Date and Time" module allows you to flexibly work with dates and times. BAS uses its own date and time representation. The number of milliseconds in the conversion is counted from January 1, 1970, 00:00:00 UTC. The starting point is midnight (UTC) from December 31, 1969 to January 1, 1970, the time from that moment is called the "UNIX era" (Eng. Unix Epoch). UNIX time is a time encoding method adopted by operating systems. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 40. DATE AND TIME MODULE UNIX time is consistent with UTC. The method of storing time as a number of seconds is very convenient to use when comparing dates (up to a second), as well as for storing dates: if necessary, they can be converted to any conveniently readable format. Date and time in this format also take up very little space (4 or 8 bytes, depending on the size of the machine word), so it is reasonable to use it for storing large amounts of dates. In most cases, it's more efficient to store time as a single value rather than as a set of fields. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 41. DATE AND TIME MODULE The "Date and Time" module is rich in its actions: string to date and back, milliseconds to date and back, create date, change date, add seconds to date, difference between dates, date now, change and get time zone, day of month, week , years, get the year, month, hours, minutes, seconds and milliseconds from a date. If you plan to call a script at a specific time, then this module is perfect for you. Or you can use the built-in task scheduler. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 42. FILE SYSTEM MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 43. MODULE DESCRIPTION The module was created to simplify the work with files on your computer. This includes important actions such as: read a file, write to a file, file/folder information, create and delete a folder, move, copy a file/folder, search for files, read or write a file to a list. If your task is to work with text types of files or pictures or a folder, then you will often use this module. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 44. BROWSER FINGERPRINT SWITCHER MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAD PAVEL DUGLAD PAVEL DUGLAD
  • 45. MODULE DESCRIPTION The module was created to change the parameters and properties of the browser in which you perform automatic operations. A browser fingerprint is a set of properties and characteristics of your computer or laptop that are determined by the site you visit (this is a video card, screen resolution, fonts, browser extensions, laptop battery, etc.) Swapping a device or browser fingerprint is always necessary when you work with any sites, as they analyze and identify the same devices. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 46. MODULE DESCRIPTION Device substitution is optional if you work in 1 thread. But if you do not replace the device during multi- threaded work, then the site will calculate you and impose any restrictions. Browser fingerprints are by default free for spoofing Chrome devices. If you need advanced settings and other devices such as Iphone, Android, Firefox, then you need to pay a subscription to the fingerprint database for 1 or 3 months. It's not expensive! PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 47. LIST MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 48. MODULE DESCRIPTION The "List" module is used to work with arrays (lists). A list or array is an ordered finite set of elements. For example, a list of tasks, names, surnames, emails, accounts, phones. Often you will have to work with a large number of accounts for a site, and this is where lists come in handy. For example, you need to use only 1 specific account from the list, and not all. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 49. MODULE PATH BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 50. MODULE DESCRIPTION Choose the right path, not the easy one. This module allows you to work with dynamic paths and get information from them. A dynamic path is a path to a file or folder that changes depending on its location. For example, you are working with profiles and you need to place them in the root folder with the script while it is running. Or, for example, you need to determine the file extension from the received path. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 51. MODULE FOR WORKING WITH PROFILES BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 52. MODULE DESCRIPTION The module is designed to create and switch between browser profiles. By default, BAS uses the Chromium browser engine and the same profiles as in the regular Chrome browser. Profiles are folders that store your information about visited sites, extensions, cookies, saved cache from site pages and other important information. Profiles help you save authorization on sites and not re-authorize on them.. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 53. RESOURCE MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 54. MODULE DESCRIPTION The "Resources" module allows you to work with script resources in BAS. Resources are input global script parameters that can dynamically change during operation. Resources are used as settings when starting an automation script. For example, it can be the number of streams, a txt file with accounts, mails, randomly generated data, etc. etc. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 55. MODULE STRING BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 56. MODULE DESCRIPTION One of the largest modules in the line. Allows you to perform any operations with strings, including trimming and clearing extra characters and even extracting mail, phone numbers and links from them. Most often in the module you will use "Random String", "Template", "Get Length", "Replace String" and "Parse CSV String". For example, using "Random string" you can generate a random password for registering a new account. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 57. XPATH MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 58. MODULE DESCRIPTION The module allows you to work with XPATH. XPATH - query language for HTML/XML pages. One of the commonly used modules in BAS, with which you can extract elements and texts from pages very quickly. For example, you are making an Avito parser using a browser and you need to get specifications, a description, and a photo from a product card. XPATH will help you with this. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 59. JSON MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 60. MODULE DESCRIPTION The module is used to work with the generally accepted JavaScript Object Notation (JSON) data format. JSON is a text data exchange format based on Javascript and is a kind of type: {"key":"value"}. This is a set of pairs: key and value (in which any of the values is represented inside double quotes, except for numeric values). The entire JSON object is in curly quotes. Also, the key can contain a nested object in curly quotes, also a third nesting, and so on. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 61. MODULE DESCRIPTION The "JSON" module is useful when you need to collect information from a site (for example, contacts) and you send a request to receive it through the "HTTP-Client" module. Then in the response, most often you will receive a string in JSON format. This is where a set of actions is needed to extract all the data from there. For example, if you collect information about an organization, then this may be a name, phone number, email address, and other information that is useful to you. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 62. SCRIPT STATISTICS MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 63. MODULE DESCRIPTION This module is used to get statistical performance of your scripts. For example, it can be the thread number, the number of successful executions, and the number of unsuccessful executions. A useful module when you need to call a script on certain threads, for example only 2 and 4. Then you can use the IF construct and check the thread number in the autoscript. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 64. REGULAR EXPRESSIONS MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 65. MODULE DESCRIPTION The module is designed to replace and search for strings in files or multiple files. This is what regular expressions are. Better than a simple search in topics, which allows you to create a template of conditions by which you should find a substring and do some manipulations with it. BAS works with regular expressions easily and simply and can extract data from strings, replace them or group them. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 66. MODULE OPEN CLOSE BROWSER BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 67. MODULE OPEN CLOSE BROWSER This module contains only 2 actions: closing and opening the browser. Used when you need to more flexibly manage the state of your browser or browsers in threads. The browser is closed by default. When using the "Open Browser" action, it opens automatically. But if you close the browser manually, then automatically it will no longer open. This is where module actions come in handy. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 68. CLIPBOARD MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 69. CLIPBOARD MODULE This module is used to work with the clipboard on your computer. The clipboard is a temporary storage for information that you have recently copied. There are 2 actions available in the module: read the clipboard and write to the clipboard. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 70. IDLE EMULATION MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 71. MODULE DESCRIPTION This module, as the name suggests, is used to provide random actions in the browser instead of normal sleep. Idle emulation manifests itself in the form of scrolling the site page using the mouse wheel, moving the mouse around the screen and sleeping. The module contains only 1 action: idle emulation. It is used as an alternative to regular sleep so that the Yandex Metrica web browser or any other tracking systems sees that you are an ordinary person on their site. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 72. MODULE ASYNCHRONOUS FUNCTION CALL BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 73. MODULE DESCRIPTION The module is used to work with asynchronous functions. Asynchronous functions are special action functions that run independently of the main work of your script, in parallel with it, and which can be suspended midway through execution. The call of ordinary functions is accompanied by the strict execution of the entire chain of actions and the return of the result. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 74. MODULE DESCRIPTION In the case of an asynchronous function, you can run it in parallel without interfering with the work of the main function and receive the results of execution while passing through the automation script. For example, if you need to work with two sites at the same time: the first site monitors the arrival of a code from an email message or collects any information necessary for another site, and the second site waits for this letter to be received or waits until the necessary information is written to the variable. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 75. IMAGE PROCESSING MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 76. MODULE DESCRIPTION The module is used for editing and processing images that you will upload in any of your tasks. For example, you are making a script for automatic posting in Telegram and you need to put some kind of watermark, text or description on the picture. This module will help you with this. Also very often you need to solve captchas and comparing one image with another will be very useful. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 77. MAIL MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 78. MAIL MODULE The module is used to receive and process the content of letters in mail services. For example, if you register accounts on any sites where you receive registration confirmation letters or a special confirmation code. This module is equipped with all the necessary functionality for this kind of tasks, it is completely free and comes in the official BAS assembly. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 79. PHONE VERIFICATION MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 80. PHONE VERIFICATION MODULE The module allows you to work with SMS services for receiving activation codes, reset calls and their further use in your scripts. SMS services are specialized sites that provide services for renting numbers to receive activation codes from various sites. Most services are already built into this module (for example, sms-activate.ru), but you can also write your own module for services that are not available by default. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 81. PROCESS MANAGER MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 82. PROCESS MANAGER MODULE This module is designed to call various .exe files on your computer in parallel with the auto-script, as well as to call Batch/Bat scripts. BAS scripts are sequential commands called from the CMD command line. For example, you need to show a dialog box or play some Windows system sound, or get a list of running processes using WMIC. WMIC is a utility program for managing Windows processes. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 83. SEND EMAIL MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 84. MODULE DESCRIPTION The module is used to send emails via the SMTP protocol. SMTP is a network protocol for transmitting email over the Internet. Each Email service has its own SMTP server through which you can send emails. But due to all sorts of spam, many email services limit the sending speed and quantity via SMTP, and also introduce additional. application passwords. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 85. TELEGRAM MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 86. TELEGRAM MODULE The module allows you to work with sending messages to Telegram. The standard module only works with sending, but there is also an advanced one that allows you to send files, documents, screenshots and text with buttons. Useful if you run a Telegram channel and need new content or just want to be notified when the bot is successful. You can also manage BAS scripts via Telegram. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 87. TIME ZONE MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 88. TIME ZONE MODULE The module is designed to adjust the location according to the ip-address, coordinates, time zone and other properties. Usually not used in practice, as it is replaced by an action block called "Proxy". It is useful and practical to adjust the parameters according to the ip address, because at the slightest discrepancy between your proxy IP and the one that the site sees, you will have problems with anonymity. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 89. USER INTERACTION MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 90. USER INTERACTION MODULE The module allows you to transfer manual control to the user during the execution of an auto-script, perform sound alerts, request user input, and execute Javascript inside web interfaces. For example, you made your first bot and at some stage a captcha pops up that you do not want to solve automatically through the service. Of course, you resort to the "Give manual control" action, then in the process you can intervene in the execution, solve the captcha and transfer control back. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 91. EMBEDDED LANGUAGES MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 92. EMBEDDED LANGUAGES MODULE The Embedded Languages module is used to call sections of code using NodeJS and its NPM modules. If you are an advanced user and you need to perform non-trivial tasks, then this module is ideal for you to implement. Also, the module is useful if you have already written ready-made code and want to use it at some stage of your automation script. The module contains 1 activity: Node.js PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 93. EXCEL MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 94. EXCEL MODULE BAS also has a built-in and powerful module for working with Excel spreadsheets by default. In the module you will find all the necessary action blocks for building automation related to Excel spreadsheets. It contains: creating a file, reading, writing, deleting, inserting and number of rows and cells, reading and writing sheets, cell areas, importing, exporting files to and from resources, getting a list of sheets, adding, moving, renaming, deleting, clearing sheets , PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 95. EXCEL MODULE cells and cell areas, converting to JSON and back, finding one or more cells by content, getting and setting formulas in cells, styles, getting and setting column widths, line heights, close the file. The module allows you to fully automate work with Excel without resorting to third-party software and writing code. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 96. DATABASE MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 97. DATABASE MODULE This module is used to work with the built-in MongoDB database from BAS. The module is designed to work with a local database. It is used as an alternative to Excel, text files, only with more structured and larger data. You can receive records from the database, record, group, update and delete them in an unlimited amount. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 98. URL MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 99. URL MODULE This module allows you to work with URL-type strings, User-Agents and encoding/decoding strings. For example, you need to change the protocol from http to https, replace some extra characters, cut protocols and www, parse data from URL, create or change URL, parse user agent into components, encode or decode URL or turn it into Punycode. Punycode is a method for converting Unicode characters to allowed domain names. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 100. CHECKSUM MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 101. MODULE DESCRIPTION The module is used to calculate the checksums of strings and files. A checksum is a value obtained as a result of hashing using a certain algorithm. Looks like: 5d41402abc4b2a76b9719d911017c592 or any more complex types. There are 64 hashing algorithms inside the module, including SHA-256, md5 and others. It is mainly used when working with an HTTP client (requests). Personally, I used it when auto-filling ads in TikTok Ads via API. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 102. ARCHIVE MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 103. ARCHIVE MODULE This module is used to work with RAR/ZIP/7z archives. Useful when you need to download large compressed files from websites or a server and then decompress them locally via a script. The module contains: unpack the archive, archive the folder, files, get the list of files from the archive. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 104. FTP MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 105. FTP MODULE The module allows you to connect to remote servers via FTP/SSH/SFTP protocols and work with the file system. FTP is a network file transfer protocol. It will be extremely useful to use when automatically uploading sites or html pages to hosting. For example, you are engaged in traffic arbitrage and you need to generate a lot of HTML pages for different advertising offers and upload them to the hosting as a spacer. This is where this module comes in handy! PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 106. SQL MODULE BROWSER AUTOMATION STUDIO PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 107. MODULE DESCRIPTION The module is used for full-fledged work with MySQL, mariaDB, postGres, SQLite and msSQL Databases. You can create a remote database on hosting and make SQL queries to it, getting, changing, updating or deleting data from tables. For example, you have several lists of accounts that have duplicates and you want to check them for validity by writing them to your personal database on the server. Then you can add an account after checking it to the database and check if it is already in the database. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 108. MODULE MANAGER BROWSER AUTOMATION STUDIO Allows you to create new modules, install ready-made modules and enable / disable installed ones. Anyone can create their own module and give it to anyone. Modules are packaged in .zip format Modules are made up of functions that are built from action blocks. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 109. "Everything needs to be designed from the top down, except for the foundation to start from." Alan Perlis CHAPTER 2 ACTION BLOCKS INGREDIENTS
  • 110. BROWSER ACTIONS Action "Download" - calls the specified URL to the site with a possible indication of the referer parameter. Referer is the source of the transition to the site. Current URL - allows you to get the address of the page of the site running in the BAS browser. The CURRENT_URL variable is set by default and can be changed to any other. Previous Page - Allows you to perform a "back" action on a BAS browser page. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 111. BROWSER ACTIONS Page code - is used to save the HTML code of the loaded page of the BAS browser. SAVED_PAGE_HTML variable stores the html format of the site page, which can be used to get elements using the XPATH parsing method. Text input - used to enter text on focused elements that are in focus. NOT TO BE CONFUSED with text input by selector! Allows you to adjust the speed of text input in milliseconds and emulate pressing some buttons from the keyboard. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 112. BROWSER ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Resolution - allows you to change the screen size of your browser. The default is 1024 x 768. Get resolution and cursor position - serves to get the screen size of the running browser and the XY position of the mouse cursor. Proxy - used to change the IP address and change the geolocation parameters in the browser. Works with 2 main types of proxies: http and socks5. You can flexibly configure the settings and adjust to the running browser profile.
  • 113. BROWSER ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Javascript is an action block used to call Javascript code inside the BAS Web Browser. NOT TO BE CONFUSED with Run Code! This action is only performed within the running browser, not within specific threads. Execute every time the page is loaded in the browser - this action calls JavaScript inside the browser at the very start of the page loading in the window. Reset - the action is used to clear cookies, cache, proxies, headers, user agents and other parameters of your browser profile.
  • 114. BROWSER ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Dialog open file - used to start working with files on the browser page. This action must be performed if you want, for example, to upload an avatar. It is performed in 2 stages: first, the "Dialog open file" is called and then click on the element with the avatar. Start Drag File - This action is similar to opening a file, but is used to drag and drop a file into the browser. For example, if you drag a file from a computer to a site into a special file upload block.
  • 115. BROWSER ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS The "prompt" window is a special dialog box that pops up for optional input from the user of any data. NOT TO BE CONFUSED with modal windows, that's different! Most sites no longer use the prompt window. HTTP Authentication - this is similar to the prompt window, but only for entering authorization data, for example, to connect to a site through a proxy using a login and password. Scroll - used to scroll the browser page by scrolling along the X and Y coordinates. You can use the mouse wheel or touch.
  • 116. BROWSER ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Screenshot - used to take a screenshot of the browser page by X and Y coordinates. The width and height of the screenshot are also specified. The screenshot is saved in base64 format. Solve captcha - used to solve text-graphic captchas (Image To Text). The input parameters are a captcha image in base64 format, a captcha solving service, an Api key of the service, the URL of a captcha service or a program for solving captchas (optional). CAPTCHA_RESULT - the variable saves the result after solving the captcha by the service or program.
  • 117. BROWSER ACTIONS PABEL DUGLAS PABEL DUGLAS PABEL DUGLAS RecaptchaV3 - an action that allows you to solve the invisible new version of Recaptcha 3rd version. The input parameters are the choice of solution service + Api key + add. parameters indicating the minimum humanoid rating, server URL (optional) and proxy sent to the service. Solve captcha with clicks - an action similar to "Solve captcha", only for solving graphic captcha images and then clicking on them. Input parameters: picture-grid of 9 pictures in base64 format, solution service, Api key, solution description (what you need to click on) + server URL and delays. The result of the action is a list (array) of COORDINATES_LIST coordinates to click on. The action of clicking on pictures by coordinates is not performed in this action!
  • 118. BROWSER ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Solved incorrectly - this action sends a request to the captcha solving service about an incorrect solution. The action is used when, for example, you solve a captcha to enter your personal account and could not enter it due to an incorrectly solved captcha. In this case, you can send a request "Solved incorrectly" and the service will not charge you money for the solution. Timeout - an action used for global settings of waiting for loading elements, site pages, captcha solving time. Useful when you don't want each action, such as "Load" to have a page load timeout. Browser settings - an action for setting various browser parameters before starting work for a particular stream. In action, you can call extensions, configure WebRTC, WebGL, browser command line arguments, and many other options. Most often used to work with extensions.
  • 119. BROWSER ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Press the extension button - this action calls a specific extension in the BAS browser by ID or by its name. Performing this action is similar to clicking on the extension icon in your browser. Before using this action, you must first install the extension. To do this, use the "Browser settings" action. Touch screen mode - the action allows you to enable or disable touch events to emulate a mobile device. The usual mouse cursor will be replaced with a round icon with the ability to swipe. Mouse Settings - action allows you to globally set the speed and behavior of all mouse movements in your project. Speed, attraction and deflection parameters are set. Notifications - an action that allows you to enable or disable your browser's pop-up notifications when you visit a site.
  • 120. SCRIPT LOGIC ACTIONS IF - action block of conditions. With this action you can program various conditions. For example, does the string contain certain words or a >= b, or does the list of sites contain site #8. With conditions, you can make your auto-scripts work more correctly. BAS has a built-in convenient expression builder that visually helps you compose any condition. It is also worth knowing that if the condition expression contains something other than True or False, then it will still be converted to True or False (boolean types). PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 121. IF CONDITION CONSTRUCTOR BROWSER AUTOMATION STUDIO Allows you to build complex conditions quickly and easily without knowledge of Javascript and other languages. Just connect blocks together and build chains of conditions that will turn into expressions understandable by BAS. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 122. SCRIPT LOGIC ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS While - an action that invokes a while loop, known from programming as a conditional loop. Thanks to this loop, you can perform a set of actions until a certain condition is met. For example, you are working with a list of sites and you want to visit each site no more than once. You prescribe the condition that If the number of sites > 0, then continue to sort through the sites. For - an action that calls a for loop that runs a specified number of times from border A to border B. For example, if you need to write a message to the user 5 times, then setting the for loop from 1 to 5 will allow you to do this. CYCLE_INDEX is a variable containing the current value of the cycle (always an integer). Foreach - an action that invokes a foreach loop that iterates through the elements in the list one by one. For example, you have a list of users who you want to add as friends. FOREACH_DATA is a variable containing the current value of the cycle.
  • 123. SCRIPT LOGIC ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Break - an action that allows you to stop the execution of any of the loops in BAS. Continue - an action that allows you to continue the execution of any of the BAS loops, skipping the previous value. Success - an action that signals the successful execution of a task in the thread and its closure. Indicated in green. In the event that all actions are performed correctly, BAS sets the termination status to successful for that thread. Fail - an action that indicates that the task in the thread has failed and is closed. Marked in red. This action has the option of not restarting the thread upon completion. It is important to understand that this action only stops the current thread, not the entire script.
  • 124. SCRIPT LOGIC ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Interrupt script - an action that allows you to completely interrupt the work of the entire script and all its threads. Unlike "Fail", the action stops the entire script. You can also stop the script instantly with an additional option. An instant stop is when the execution of all functions inside the script is stopped without waiting for them to be executed. Indicated in red as "Fail". Set label - an action that allows you to set a checkpoint or savepoint where you can return at any time during the script execution. Labels allow you to move from one point in your script to another. A very useful tool when it is difficult to think through the logic or there is not enough knowledge. It is not recommended to use labels very often, if you go too far with them, the script can become unreadable and difficult to change. It's better to use recursive functions instead, but more on that later.
  • 125. SCRIPT LOGIC ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Jump to label - an action that allows you to jump to a predefined label set by the "Set Label" action. It is a movement, like a teleport, from point A to point B. Ignore Errors - an action that allows you to skip non- working functions or actions in your script. For example, you get the number of subscribers from the site from the user and at some point something went wrong or did not load, and as a result, the action will be interrupted by the script with a red error. To prevent this from happening and the script continues to work, you must use ignoring errors. I talked about this in more detail in my course: "BAS Basics on the example of the Freebitcoin crypto site". Set Variable - The action allows you to initialize a variable in your automation script for later use. It is important to note that the variable has 3 types: integer (int), expression (expression) and string (string).
  • 126. SCRIPT LOGIC ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Increment variable - an action that allows you to increase the number of specified variable by N by the "Set variable" action. This is analogous to the mathematical summation operation A+N, where N is any integer or fractional number, depending on the type. Set Global Variable - An action that sets a global variable for the entire project. This kind of variables is used in all threads at the same time, and not locally in threads. For example, if you enable 4 threads, then all of the four threads will know the global variable and you can build a condition through it. It is important to remember that resources are used to implement global lists. Increment global variable - an action similar to incrementing a local variable, only works with global variables.
  • 127. SCRIPT LOGIC ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS A function call is an action that calls a function at any position in the autoscript you specify. Functions are containers containing action blocks. Each action within the functions is performed sequentially. You will learn more about functions in Chapter 3. Get function parameter - an action that allows you to specify the receipt of a parameter within a specific function. FUNCTION_PARAMETER is a default variable. Function parameters are special variables that are passed as input to a function to ensure the execution of a task. Return is an action that returns the result of a function. At the input, the parameters of the function are given, and at the output, "Return" (return) is obtained. Each function has some result of execution.
  • 128. SCRIPT LOGIC ACTIONS PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Calling a function in multiple threads is an action that allows you to call a function in N number of threads right inside the global thread. FLOW FUNCTION FLOW 1 FLOW 2 FLOW N
  • 129. TOOL ACTIONS Log - serves to display any useful information for the creator and user. For example, errors in work, any values from the site, page code, element code, mail, accounts, etc. Useful to use after or before executing any functions in your autoscript. Clear log - allows you to clear the entire log of the work process. Useful when the number of entries in the log is saturated and cleanup is required. A result is an action that records specific results from your script. For example, you register accounts on the site and you need to see the account + password. Results can be displayed in a maximum of 9 tabs. Execute code - an action that allows you to call Javascript code. The code is called within the thread, not the browser. NOT TO BE CONFUSED with the Javascript action. pavel duglas pavel duglas pavel duglas
  • 130. TOOL ACTIONS pavel duglas pavel duglas pavel duglas Parse string (obsolete) - an action that allows you to split and parse data by predefined separators. Standard delimiters like ":", ";", "," The action is great for multi-accounts when you need to separate the email from the password in the list. A similar action is "Parse CSV string", it will be discussed later. Random number - an action that generates a random number from a given range of A and B. Works only with integers and expressions. RANDOM_NUMBER - a variable that stores the result of a random combination. Useful for randomizing actions in your browser. For example, if 0 falls out, then click on the link on the site, and if 1, then click on the button.
  • 131. NETWORK ACTIONS Set header - the action sets the headers inside the browser (headers) that the site reads when entering. There are 2 types of headers available by default: -User-Agent -Accept-Language Save cookies - an action that saves the current cookies from the browser. Cookies are files with information received when visiting a web resource. Used to save authorization on the site so as not to re-enter your personal account. Download cookies - an action similar to saving cookies only for downloading them. Used to enter the personal account of the site without re-authorization. pavel duglas pavel duglas pavel duglas
  • 132. NETWORK ACTIONS pavel duglas pavel duglas pavel duglas Load cookies from http client - action that loads cookies directly from the HTTP client. It is used when you perform operations on the site using HTTP client requests and you want to use the saved cookies from it in the future in the browser. Allow cache - an action that allows cached data to be stored on the site by mask. A cache is data stored in a browser so that it can be accessed more quickly when a page is loaded. The mask is the input to find what you need to store in the cache. If set to *, then any cache data will be saved to the browser profile. Works only on pages that will be loaded after this action is called. Disable cache is the opposite of enabling cache.
  • 133. NETWORK ACTIONS pavel duglas pavel duglas pavel duglas Allow request - an action that allows you to allow downloading requests coming from the site by mask. For example, you may want to only allow specific URLs to be loaded on a page without any extra ones. Deny a request is the opposite of allowing a request. For example, you do not want to load a request with a banner ad on the site or images in *.gif format. Clear cached data - an action that allows you to remove information about all loaded Url from the cache. Clear masks - an action that deletes all previously added cache masks.
  • 134. NETWORK ACTIONS pavel duglas pavel duglas pavel duglas Get request status - an action that allows you to track and get the status of a request by mask. Useful when you want to know if the URL you specified loaded correctly or not. Request status = 200 (successfully processed request). Was there a request - an action that tracks whether the request specified by the mask has completed or not. Returns 0 if not and 1 if yes. Get last cache item - an action that allows you to get the last item from the received cache data by mask. There is an additional option to store the cache element in base64 format. Get All Cache Items - The action gets all possible saved cache items from the browser profile and saves them as a JSON object.
  • 135. NETWORK ACTIONS pavel duglas pavel duglas pavel duglas Block pop-ups - an action that disables all pop-ups on the site. Called before the page is loaded. For example, you don't want to see popup/popunder windows loading. Allow pop-ups is the opposite of blocking. Deny file downloads - an action that prohibits downloading files from sites. By default, browsers automatically download files, and if the site calls for a download request, the browser will upload the file to downloads. Allow file uploads is the opposite of denying.
  • 136. WAIT ACTIONS Wait for Full Load - an action that allows you to wait until the page is loaded until the end and the site request is completed completely. By default, the wait is set to 60 seconds. This setting can be changed. The action waits until all elements on the page have fully loaded, which can take a long time. Wait for Loading Url - an action that allows you to wait for a specific URL to load when the page loads. Useful when you want to wait for a specific outgoing request from a site. Wait for browser address - an action that allows you to wait for a specific URL in the browser's address bar to load. Useful when you want to wait for, for example, the "/cabinet" login page. Wait for text - an action that waits for the specified text to appear on the page of the loaded site. Useful when you need to wait for loading, such as the words "Welcome" on a site. PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS
  • 137. WAIT ACTIONS pavel duglas pavel duglas pavel duglas Wait for css - an action that waits for the specified CSS selector of the element to appear on the site page. Useful when you want to wait for a button to appear, for example with a specific ID (#button). Wait for File Download - an action that waits until the file is completely downloaded on the site page. It is used when you need to wait for the file to be fully loaded on the site. Sleep is an action that sets the sleep or wait in milliseconds between the actions of your auto-automation script. You can set a random value FROM and TO. 1 second will be equal to 1000 milliseconds when specified.
  • 138. HTTP CLIENT ACTIONS HTTP Client Proxy - an action that establishes a proxy connection in the client when making requests to the site's web server. An action similar to using a proxy in a browser, only acting on the HTTP client. HTTP Client Reset - an action that clears all headers, cookies requests to zero state. Complete reset of all client settings. Get request - an action that allows you to make requests using the GET, HEAD, DELETE, TRACE, OPTIONS methods. Add. the field allows you to specify the request headers that the site and the web server see when sending. Used to get the site page code directly from the web server or some data to use. pavel duglas pavel duglas pavel duglas
  • 139. HTTP CLIENT ACTIONS pavel duglas pavel duglas pavel duglas Post request - an action for executing requests using the POST, PUT, PATCH methods. Used to make changes to the site database or to get some results from it. For example, to search for products on the site without a browser. Unlike GET, a POST request has a Post Data field (parameters passed in the request) and also an indication of the content type (application/x-www-form-urlencoded, multipart/form-data, application/json) and the encoding of the request in which data. Add. the field allows you to specify the request headers that the site and the web server see when sending. Download - the action allows you to download files from the specified URL in the request. For example, it can be a picture from a website, or a captcha, or a video or audio file. An additional parameter is to specify the path where the file will be saved.
  • 140. HTTP CLIENT ACTIONS pavel duglas pavel duglas pavel duglas Current URL - an action that allows you to get the address of the request from the last request sent and after the redirect. Similar to the "Current URL" action in the browser, but for the HTTP client. Response content - an action that allows you to get the response body of the sent request. For example, it can be a site page code or data in JSON format. You can also specify the appropriate request encoding to correctly display, for example, Russian letters in the request. Response status - an action that allows you to get the status of the last request. As stated earlier, status = 200 is a successfully processed request. There are a large number of statuses, for example, 403, 500, 502 and so on. Depending on the status, you can build further script logic.
  • 141. HTTP CLIENT ACTIONS pavel duglas pavel duglas pavel duglas Get header - an action that allows you to get a specific request header that came in the response. For example, it may be some important parameter for authorization or cookies. HTTP Client Set Header - an action similar to "Set Header" in the browser for the client only. Allows you to set any headers for the request. For example, User-Agent and others. Clear Headers is an action that clears all request headers that have been set using the "HTTP Client Set Header" action. HTTP Client Save Cookies - action that saves cookies from the HTTP client to the SAVED_COOKIES variable. DO NOT CONFUSE with saving cookies in the browser!
  • 142. HTTP CLIENT ACTIONS pavel duglas pavel duglas pavel duglas HTTP Client Load Cookies - action that loads cookies into the HTTP client. Load cookies from browser - action that loads cookies received from the browser. For example, if you logged in through a browser, you can send cookies to the HTTP client with this action so that it understands that it is also authorized. Exit after error/Was there an error/Get error text - deprecated actions for error handling. Not used, ignoring errors instead. Xpath get xml/Xpath get each xml/Xpath get text/Xpath get each text/Xpath get number of elements/Xpath check for existence - actions that perform XPATH operations on the received site page code. The action is applied to the response of the last request!
  • 143. DATE AND TIME ACTIONS String To Date - The action converts a string to a date type. The format can be set manually or selected from ready- made options. Date To String - The action converts a date to a string. The format can be set manually or selected from ready-made options. Milliseconds To Date - The action converts milliseconds to a date type. For example, 1669560997 translates to 11/27/2022 5:56:37 PM. Date in Milliseconds - the reverse of the previous one. Create Date - the action creates a new date with the specified year, month, day, hour, minute, second, millisecond, and time zone parameters. pavel duglas pavel duglas pavel duglas
  • 144. DATE AND TIME ACTIONS pavel duglas pavel duglas pavel duglas Change Date - the action changes the specified date according to the specified year, month, day, hour, minute, second, millisecond and time zone parameters. Add Seconds To Date - action adds seconds, minutes, hours, days to the specified date. Difference Between Dates - The action returns the operation of the difference between two dates in seconds. For example, 11/27/2022 18:00:00 and 11/27/2022 17:00:00 will return a result of 3600 seconds (1 hour difference). Date Now is an action to get the current time and date. Records the current date and time at the time this action was called. Change Date Time Zone - an action that changes the time zone of the specified date from -840 minutes to +720 minutes.
  • 145. DATE AND TIME ACTIONS pavel duglas pavel duglas pavel duglas Get Date Time Zone - actions to get the time zone from the specified date. Day of the Month/Day of the Week/Day of the Year - actions to get the day of the month, week and year respectively. Get Year From Date/Get Month From Date/Get Hours From Date/Get Minutes From Date/Get Seconds From Date/Get Milliseconds From Date - actions to get the year, month, hours, minutes, seconds and milliseconds from the specified date.
  • 146. FILE SYSTEM ACTIONS Read File - reads the entire contents of the file, with the ability to read byte by byte and in base64 format. Write To File - writes data to a file at the specified path and 3 options: adding a line ending character, appending the file, and in base64 format. File/Folder Information - returns information about files and folders, namely existence, size, file folder, whether it is a folder and last modified date. Create Folder - creates a folder in the specified directory. Delete File/Folder - deletes a file or folder from the specified path. Move File/Folder - moves a file or folder to the specified path. pavel duglas pavel duglas pavel duglas
  • 147. FILE SYSTEM ACTIONS pavel duglas pavel duglas pavel duglas КCopy File/Folder - makes a copy of a folder or file at the specified path. File Search - searches for files by mask and content with the ability to specify folders, files and subfolders. Read File To List - reads data from a file into a list. Write List To File - writes the list to a file with the possibility of appending the file and adding a line ending character.
  • 148. BROWSER FINGERPRINT ACTIONS Get Fingerprint - Gets the fingerprint of the specified device (Windows Chrome by default) from the Browser Automation Studio servers. To get all types of devices, you need an API key. It is also possible to adjust the browser resolution, Perfect Canvas and getting prints from your base. Apply Fingerprint - Applies and modifies a browser fingerprint that contains: user agent, screen size, navigator properties, fonts, and more. Performance fingerprint - Misrepresents how a site receives data about your browser and device. You can specify time warp parameters and measurement time. pavel duglas pavel duglas pavel duglas
  • 149. ACTION LIST Create List - creates a new list with initial three values (may be empty). Add Item - adds the specified data from the variable to the end of the list. Get Element - gets data from the list by index with the possibility of deletion after receiving. First Item - Gets the first row of data from the list, with the option to delete it after getting it. Last Item - Gets the last row of data from the list, with the option to delete it after getting it. Random Item - Gets a random string of data from a list, with the option to delete it after getting it. pavel duglas pavel duglas pavel duglas
  • 150. ACTION LIST pavel duglas pavel duglas pavel duglas Insert Element - inserts a row of data at the specified position in the list by index. Set Item - Changes the data string at the specified list position by index. Remove By Index - removes an element at a specific index from the list. Remove By Value - removes all elements that have the given value from the list. Number of Items - Gets the number of rows or items in the list. Contains - checks if the list contains the exact specified value. You should search for the entire line! Sublist - gets a sublist consisting of a certain number of elements of the original list in the specified FROM and TO range.
  • 151. ACTION LIST pavel duglas pavel duglas pavel duglas Delete Part - removes a specific range of elements from the list. Remove Duplicates - Removes duplicate values, excluding blank lines. Merge to String - Merges all elements of the list into a string using the specified delimiter. Parse String - splits a string into a list by a specified delimiter. Get Index - Gets the index of the element with a specific value from the list. Copy List - makes a complete copy of the specified list. Sort - Sorts all elements of the list in alphabetical order.
  • 152. ACTION LIST pavel duglas pavel duglas pavel duglas Shuffle List - shuffles all the elements of the list in random order. Merge Lists - adds all the elements from one list to another. Compare Lists - compares two lists and returns true if the lists contain the same values.
  • 153. ACTION WAY Get filename from path - Gets the last part of the specified path. For example, if the path is "C:/duglas/bas/pavelduglas.txt/", then the action will return "pavelduglas.txt". Get folder from path - Gets the directory of the specified path. Get File Extension - Gets the file extension of the specified path. Is an absolute path - Check if the specified path is absolute. For example, if the path is "/duglas/bar", then the action will return true, and if the path is "duglas/bas" or "bas/", then the action will return false. pavel duglas pavel duglas pavel duglas
  • 154. ACTION WAY pavel duglas pavel duglas pavel duglas Merge Paths - Merges several paths into one. For example, if the parameters "Path 1" and "Path 2" are specified, whose values are respectively "/duglas" and "/bas", then the action will return "/duglas/bas". Normalize path - this action will return a normalized path, multiple slashes will be replaced with single ones, backslashes "" will be replaced with regular "/", segments ".." and "." will be resolved. Parse path - parses the path into the elements root, directory, last part, file extension, file name, list of path elements. This action will store each element of the path into its own variable.
  • 155. ACTION WAY pavel duglas pavel duglas pavel duglas Project File Path - Gets the full path to the project file. This action will return the full path to the project file. If the script is not compiled, then this action will return the path to the open project file. And if the script is compiled, then this action will return the path to the project.xml file located in the root folder of the engine. Project Directory Path - Gets the full path to the project directory. This action will return the full path to the project directory. Installation Path - Gets the full installation path of the BAS engine. This action will return the full path to the directory where the executable is located. Get system path - Gets the system path with the specified name. For example, User Profile - Path to the profile of the current user. Example: "C:/Users/Duglas".
  • 156. ACTIONS WORKING WITH PROFILES Create or switch to a permanent profile - creates or switches to a profile at the specified path, loading proxy and device fingerprint (by default). This action creates a folder and stores cookies, cache, localstorage, etc. there, making it a complete portable browser profile. If the specified folder already exists, the browser will load the profile data from it. Switch to temporary profile - switches to a temporary profile, which is used in the recording mode by default unless otherwise specified in the automation script. If a temporary profile is used, a new temporary profile will be created. Copy profile to another folder - copies the current profile to the specified folder. It will work correctly only if the profile is not busy with any thread. pavel duglas pavel duglas pavel duglas
  • 157. ACTIONS WORKING WITH PROFILES pavel Duglas pavel Duglas pavel Duglas Delete profile - deletes the specified profile. You can delete the current profile by running this action with an empty string. In this case, the browser will be stopped. After deleting the current profile, a new temporary profile will be used. This action will only stop the browser if you delete the current profile. Get information about the current profile - gets the necessary information about the profile, such as: profile ID, whether proxies are used, browser fingerprint.
  • 158. RESOURCE ACTIONS Create Resource - creates a new resource. Each resource contains a container of data, such as lines from a file. Unlike lists, the resource system helps to distribute data across threads, and also handles various situations that arise when data is used concurrently in multithreaded mode. You can specify the number of successful and unsuccessful runs, concurrent use, and intervals between uses. There are also 2 additional parameter. Wait for appearance is a very important parameter, it determines the behavior in case when the list of resource data is empty. If this setting is enabled, then the action that receives the resource will wait until the data is available, if the setting is not selected, then the action will fail instantly. When the 'Greedy' setting is selected, the resource system will try to get the same row again and again until that row exhausts the number of successes or failures, and only then the next row becomes available. pavel duglas pavel duglas pavel duglas
  • 159. RESOURCE ACTIONS pavel duglas pavel duglas pavel duglas Remove Current Item - removes the current value from the resource. The current line is the line that was last received in the current thread. For example, if you have a 'Proxy' resource and that proxy is banned from the target site, you can use this action with the resource name 'Proxy'. This will remove the proxy from the file and it will never be used again for the duration of the script. Add Element - Adds a new element to the resource. For example, add a new line to a file or a new record to a database. Resource Location - Gets the path where the resource is loaded from. Resource To List - copies data from a resource to a list. List To Resource - Copies a list to a resource.
  • 160. RESOURCE ACTIONS pavel duglas pavel duglas pavel duglas Reload Resource - reloads lines from a file or record from a database. The resource data will be completely replaced with new ones. All states of all data (the number of successes and failures of the resource) will also be reset. If some rows were deleted, this information will also be lost. Number of Elements In Resource - Gets the number of elements in the resource at the current moment. With this action, you can process the output of the result "All data has been processed for the resource".
  • 161. ACTION LINE Is a string - checks if the specified data is a string. This action will return true or false depending on whether the specified data is a string. Not an empty string - checks if the specified data is not an empty string. This action will return true or false depending on whether the specified data is not an empty string. For example, if "Douglas BAS" is specified, then the action will return true, and if "" or 123 is specified, then the action will return false. To String - Converts the specified data to a string. This action will return a string representation of the specified data. This action works with any data type. For example, if 123 is specified, then the action will return "123", and if true is specified, then the action will return "true". To Number - Converts the specified string to a number. This action will return the numeric representation of the specified string. For example, if "123" is specified, then the action will return 123, and if "123.45" is specified, then the action will return 123.45. pavel duglas pavel duglas pavel duglas
  • 162. ACTION LINE pavel duglas pavel duglas pavel duglas Format number - formats and converts the specified number to a string. With this action, you can bring the number into a more readable form, for example, for further output to the log. This action will return a formatted string representation of the specified number. For example, the number 1967567.3245 will be converted to the string "1,967,567.3245" if a comma is specified in the Decimal Separator parameter and a space is specified in the Thousand Separator parameter. Number of substrings - Gets the number of substrings in a string. This action will return a number equal to the number of substrings in the string. For example, if the string "Duglas Bass" and the substring "ac" are specified, then the action will return 2, and if the string "Pavel Duglas" and the substring "Pavel" are specified, the action will return 1.
  • 163. ACTION LINE PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Get Substring - Gets a substring from a string. This action will return the resulting substring. For example, to get the substring "example" from the string "Just an example of a string", you need to specify 7 in the "From index" parameter, and 13 in the "To index" parameter. Get substring between - gets a substring between two substrings. This action will return the resulting substring. For example, to get the substring "Paul Douglas" from the string "<h1>Paul Douglas</h1>", you need to specify "<h1>" in the "Left substring" parameter, and specify "</h1> in the "Right substring" parameter ". Delete part of a string - deletes a part of a string and/or inserts a new one. This action can either remove part of the string, or insert a new part, or both. This action will return the string obtained as a result of all manipulations.
  • 164. ACTION LINE PAVEL DUGLAS PAVEL DUGLAS PAVEL DUGLAS Lowercase - Converts all letters in a string to lowercase. This action will return a string in which all letters will be lowercase and the rest of the characters will remain unchanged. For example, the string "DUGLAS" would be converted to the string "Duglas" and the string "Paul Douglas" would be converted to the string "Pavel Duglas". Upper Case - Converts all letters in a string to upper case. This action will return a string in which all letters will be uppercase and the rest of the characters will remain unchanged. For example, the string "bas" will be converted to the string "BAS" and the string "browser bas" will be converted to the string "BAS BROWSER". Contains - Check if a string contains a substring. This action will return true or false depending on whether the string contains a substring. For example, if the string "Test text" and the substring "text" are specified, then the action will return true, and if the string "Just an example string" and the substring "test" are specified, the action will return false.
  • 165. ACTION LINE pavel duglas pavel duglas pavel duglas Get Length - Gets the number of characters from a string. This action will return a number equal to the number of characters in the string. For example, if the string "Test text" is specified, then the action will return 14, and if the string "Just an example string" is specified, then the action will return 20. Capitalized Word - Converts the first letter of the word to upper case. This action will return a string in which the first letter is uppercase and the rest remain unchanged. For example, if the string "test text" is specified, then the action will return "Test text", and if the string "just an example string" is specified, then the action will return "Just an example string". Number of words - get the number of words from a string. This action will return a number equal to the number of words in the string. For example, if the string "Test text" is specified, then the action will return 2, and if the string "Just an example string" is specified, then the action will return 3.
  • 166. ACTION LINE pavel duglas pavel duglas pavel duglas Split sentence into words - splits a string into words. This action will return a list containing the words obtained from the string. For example, if the string "Test text" is specified, then the action will return ["Test","text"], and if the string "Just an example string." is specified, then the action will return ["Just","example","strings"] . Split text into sentences - splits the string into sentences. This action will return a list containing the sentences retrieved from the string. For example, if the string "Just sample text. Test text, string" is specified, then the action will return ["Just sample text.","Test text, string"], and if the string "Test text! Test text! Test text!" , then the action will return ["Test text!","Test text!","Test text!"].
  • 167. ACTION LINE pavel duglas pavel duglas pavel duglas Find substring - finds a substring in a string. This action will return a number equal to the index of the beginning of the first substring found, or -1 if the substring was not found. For example, if the string "Test text" and the substring "text" are specified, then the action will return 9, and if the string "Just an example string" and the substring "test" are specified, the action will return -1. Starts with - checks if the string starts with the specified substring. This action will return true or false depending on whether the string starts with the specified substring. The result can be used together with the "If" action. For example, if the string "Test text" and the substring "Test" are specified, then the action will return true, and if the string "Just an example string" and the substring "example" are specified, then the action will return false.
  • 168. ACTION LINE pavel duglas pavel duglas pavel duglas Ends with - checks if the string ends with the specified substring. This action will return true or false depending on whether the string ends with the specified substring. The result can be used together with the "If" action. For example, if the string "Test text" and the substring "text" are specified, then the action will return true, and if the string "Just an example string" and the substring "example" are specified, the action will return false. Insert into - inserts a substring into a string. This action will return the string resulting from inserting the substring. For example, if the string "Just strings", the substring "example" and index 7 are specified, then the action will return "Just sample string". Base64 encode/decode - encodes or decodes a string to base64. Base64 encoding represents binary data as an ascii string. BAS stores binary data as base64 strings. These can be files, images, videos, etc.
  • 169. ACTION LINE pavel duglas pavel duglas pavel duglas Template - creates a new variable or changes an existing one to multiline text. Can replace spintax, resources, variables with their values. An action can be used to load a template from a file or generate it dynamically. It is best suited if you need to generate text for posting. Replace String - This action searches the string specified by the "Original String" parameter for the values specified by the "Replace From" parameter and replaces them with the value specified by the "Replace With" parameter. This action replaces all occurrences, not just the very first one. Random string - will generate a random string with the given length and allowed characters. Newline character - will create a string containing a newline character. This action will return a string containing a line break.
  • 170. ACTION LINE pavel duglas pavel duglas pavel duglas Merge Strings - combines multiple strings into one. This action will return a string made up of all the specified strings. For example, if the parameters "Line 1" and "Line 2" are specified, with values equal to "Just an example" and "Strings" respectively, then the action will return "Just an example of a line". Romanize - converts all letters to Latin. This action will return a string in which all letters will be romanized, and the rest of the characters will remain unchanged. For example, the string "ỆᶍǍᶆṔƚÉ áéíóúýčďěňřšťžů" would be converted to the string "ExAmPlE aeiouycdenrstzu" and the string "Hello world!" will be converted to the string "Privet mir!". Decline - declines the word depending on the specified number. This action will return one of the three words matching the declension to the specified number. For example, if the words "account", "account", "accounts" are specified and the number is 5, then the action will return "accounts", and if the number is 22, then the action will return "accounts".
  • 171. ACTION LINE pavel duglas pavel duglas pavel duglas Parse CSV string - parses a CSV string into elements. This action will parse the string according to the specified delimiters and store the parsed data according to the specified variables. For example, if the string "email@gmail.com:mypass1" and the variables USERNAME,PASSWORD are specified, then the action will store "email@gmail.com" in the [[USERNAME]] variable and "mypass1" in the [[PASSWORD]] variable. Create CSV string - creates a CSV string from several elements. This action will return a CSV string composed of all the specified elements separated by the specified character. For example, if the parameters "Element 1" and "Element 2" are specified, the values of which are respectively equal to "test" and "text", and the separator is ":", then the action will return "test:text". Align - aligns the line at the edges. This action will return a string, from the beginning and end of which unnecessary characters, such as spaces, line breaks, tabs, will be cut off.
  • 172. ACTION LINE pavel duglas pavel duglas pavel duglas Clear - clears the string of unnecessary characters. This action will return a string from which all unnecessary characters will be removed, such as multiple spaces, line breaks, tabs. For example, if the string "Test text" is specified, then the action will return "Test text", and if the string "Just an example string" is specified, then the action will return "Just an example string". Extract all emails - Extracts all email addresses from a string. This action will return a list containing the email addresses obtained from the string. For example, if the string "Test text is test@gmail.com. Just an example text is example@gmail.com.", then the action will return ["test@gmail.com", "example@gmail.com"]. Extract all links - extracts all links from the string. This action will return a list containing the links obtained from the string. For example, if the string "Test text http://test.com, string test example.org" is specified, then the action will return ["http://test.com", "example.org"].
  • 173. ACTION LINE pavel duglas pavel duglas pavel duglas Extract all phone numbers - extracts all phone numbers from a string. This action will return a list containing the phone numbers obtained from the string. For example, if the string "Test text is 89001112233. Just sample text is +7 900 999 4455.", then the action will return ["89001112233", "+7 900 999 4455"]. Special HTML characters encode/decode - encodes or decodes a string containing special HTML characters. This action can work in two modes: encoding and decoding. The modes can be switched by the parameter "Encrypt or decrypt". For example, if the string "<div>Blah blah blah</div>" is specified and encode mode is enabled, the action will return "&lt;div&gt;Blah blah blah&lt;/div&gt;". And if the string "&lt;h1&gt;Text title&lt;/h1&gt;" and decode mode is enabled, the action will return "<h1>Text title</h1>"
  • 174. XPATH ACTIONS xpath get xml - performs an xpath query and finds the xml of the first element that matches the query. This action looks for the element's xml (html code). There is additional option to terminate with an error or just return an empty value. For example, if there is a page code "<html><h3>BAS</h3><br> <h3>BAS2</h3></html>", then upon request //h3 will return 1 value equal to "<h3>BAS </h3>". xpath get each xml - performs an xpath query and finds the xml of each element that matches the query. From the previous example, making a query //h3 will return a list of values ["<h3>BAS</h3>","<h3>BAS2</h3>"]. xpath get text - performs an xpath query and finds the text of the first element that matches the query. The result of this action is text. For example, if an element has xml <div>Mr.Duglas</div>, then its text is 'Mr.Duglas'. pavel duglas pavel duglas pavel duglas
  • 175. XPATH ACTIONS pavel duglas pavel duglas pavel duglas xpath get each text - executes an xpath query and finds the text of all elements that match the query. The result of this action is a list, each element of which is a text. For example, if an element has xml <div>word</div>, then its text is 'word'. Xpath get number of elements - makes an xpath query and counts the number of elements received. For example, if the element has xml <div>word</div><div>word2</div> <div>word3</div> and you make a request //div then it will return value = 3. Xpath Exist Check - Checks if there is at least one element that matches the xpath query. For example, if the element has xml <div>word</div> in the specified page code, it will return true, otherwise false.
  • 176. SCRIPT STATISTICS ACTIONS Thread number - gets the number of the currently running thread into the THREAD_INDEX variable. Successful Executions - Gets the number of successful executions of the current script and stores it in the SUCCESS_NUMBER variable. Failed Executions - Gets the number of failed executions of the current script and stores it in the FAIL_NUMBER variable. pavel duglas pavel duglas pavel duglas
  • 177. REGULAR EXPRESSION ACTIONS First occurrence - will apply the regular expression, get the first piece of text that matches it, extract the groups of matches. Regular expression is a convenient mechanism for string processing. It helps to search for strings, split a string into parts, etc. You can think of a regular expression as some kind of mask or pattern that a given string must match. An example of how a regular expression works can be described as follows: 'Find in the text a sequence of letters followed by the @ symbol, followed by any sequence of letters, or a dot'. Converting this description to a regular expression, w+@[a-zA-Z.]+ is a simple expression to search for mail in the given text. Extract all data - extracts all data from the specified string that matches the regular expression. For example, if the string is abc 123 xyz 456 and the regular expression is d+ then the regular expression will extract all the numbers found in the text and the resulting list will be ["123", "456"]. pavel duglas pavel duglas pavel duglas
  • 178. REGULAR EXPRESSION ACTIONS pavel duglas pavel duglas pavel duglas Whether the string matches the regular expression - checks if the string matches the regular expression, returns the result to a variable. The variable specified in the 'Does string match regexp' parameter will be true or false depending on whether the string matches the regular expression. Split string - splits the text with a regular expression. For example, if the string is word1,word2;word3|word4 and the regular expression is [,;|] then the result will contain a list with all the words ["word1", "word2", "word3", "word4"]. Replace String - Applies a regular expression, replacing all matches with the target string. For example, if the string Random text login1@yahoo.com login2@outlook.com and the regular expression @[^.]*.[s]* (this regular expression will match the @ character along with the mail domain) , and the parameter ' Replace with' is @gmail.com, the result will be Random text login1@gmail.com login2@gmail.com.