A full-fledged tutorial on Browser Automation Studio from automation guru and Russia 1 star (Pavel Duglas).
My Telegram: https://t.me/pavelduglas1
Основные Ресурсы-Сайты:
Блог - https://pavelduglas.ru
Магазин Шаблонов BAS - https://automationempire.store
BAS Курсы - https://browserautomationstudio.online
Маркетплейс Ботов - https://definova.club
BAS Мастер-Класс - https://duglasclub.ru
Блог - https://pavelduglas.ru
ВК - https://vk.com/duglasp
Телеграм - https://t.me/pavelduglas1
Yappy - https://yappy.media/profile/f68dd041b6094c92b05bfad88f3b50c6
TikTok - https://www.tiktok.com/@duglasofficial
Looky - https://share.looky.com/profile/c7051775-bf7a-441f-afce-1d3752290b6c
Instagram - https://www.instagram.com/pavelduglas
Ton.Place - https://ton.place/pavelduglas
Youtube каналы:
BAS Автоматизация - https://www.youtube.com/@browserautomationstudio
Крипто - https://www.youtube.com/channel/UCLa4B8UADT36USRIF1PhIOQ/
BAS Англ канал - https://www.youtube.com/channel/UC4EewtKj50WduI3OzPBowZg/
Дуглас Малахов Россия 1 - https://www.youtube.com/channel/UC2B3v5Ozlh0FXvsRHVU3idQ/
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
"<div>Blah blah blah</div>". And if the string
"<h1>Text title</h1>" 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.