Skip to main content
All CollectionsDolphin AntyScript Builder
Script Builder Dolphin {anty}
Script Builder Dolphin {anty}
Updated over 2 months ago

What is Script Builder 🧐

You can understand the essence of the process by imagining that every action in the browser (clicking, pressing a button, entering login/password, etc.) can be assigned to a robot. It is enough to create a "script" - a sequence of actions that the "robot" will perform.

For example: we need a robot to perform some action on all FB accounts (and there can be any number of them), for example, confirming the binding of a card. If this were done manually, the task would take several hours - you have to log in to each profile, perform a number of actions, and then log out. When there are a lot of accounts, it turns into a big waste of time. With this functionality you can create a simple script that will perform all the necessary actions automatically 😉

First steps in Scenarios 📖

The scenarios are based on possible everyday actions that usually take up a lot of time during work. A sequence of "actions" is created and automatically executed in the browser profile.

  • To proceed to the work, select the appropriate tab - Scenarios - by clicking on the icon in the left menu:

  • It immediately prompts you to create your first Scenario by clicking the "Create Scenario" button

  • This window will also display all previously created Scenarios, and you can Delete, Copy or Edit them .

  • After creating a Script opens a working field for creating a script using "blocks"

Scenario creation field 🛠️


​Elements ⬇️

  • On the left-top - green buttons "Save scenario" and "Show logs" to see the log of actions that are recorded during its launch
    .It is worth not forgetting to click on the save button whenever you create/edit a scenario!

  • On the left side there is a list of all possible blocks/actions that can be dragged to the working field, or just click to make the block appear there.

  • In the center is the working field itself, where you can place blocks and link them into chains/sequences.

  • Centered at the bottom is the profile launch and workspace control module:

    1. Return actions - you can cancel adding a block you don't need (left and right arrow).

    2. Selecting a profile to which you can immediately apply the script allows you to quickly start automation. Selecting Empty Profile creates a temporary profile for testing the script (it is not saved and is used solely for testing, and applies the IP address of the PC). The finished scenario can also be run on multiple selected profiles on the Browser Profiles screen.

    3. Step-by-step script playback - it is possible to reach the desired stage of execution, pause or stop the script, make changes to the block and run it again.

    4. "3 Dots" - Here you can choose how you want to run the profile:

      • In headless mode - the script is executed without displaying the browser window, which is convenient when running on many profiles at the same time, for example, 20. This is useful for tasks like FB farming, where you don't need to see all browser windows.

      • Without loading images - when running the script in this mode, images are not loaded, which saves traffic when working with mobile proxies and speeds up execution. However, if images are necessary (for example, for captcha with a picture), problems may arise.

    5. The "Pointer" and "Selection" tools. - Using the Selection tool, you can move or delete several blocks at once, while the Pointer tool selects blocks one at a time.

Actions with blocks ✍🏻

Deleting any action (For example: Close tab) is performed after double-clicking on a block or selecting by pressing Shift to select several blocks at once, then press Del on the keyboard to delete.


Connecting the first block to the green circle "Start"
This makes it clear to the script where the starting point of the process starts.
All actions should be connected with 🧵 Thread between them, so that the Designer can understand the sequence of actions.
Threads can be canceled by clicking ❌ or by connecting 2 in parallel.
Red thread - gives the possibility to choose. Red thread is a safety net, it sets another action in case the Green thread didn't work or there was a problem on the site and the button the script should have clicked was not displayed. Then for example: the script will follow the Red Thread, which will lead it to some block.


System variables

Some action blocks use system variables containing browser profile parameters as input data. This is necessary for mass logins to major social networks or for creating scripts that interact not only within the browser, but also between profiles. System variables cannot be modified and cannot be used as output.

  • Browser_profile_id - profile ID

  • Browser_profile_name - profile name


Block Categories ⬇️

Block Navigation 🧭

Navigation is all about interacting with web pages: opening or refreshing a page, navigating to a URL, switching between tabs, and other actions. Anything that is normally done through the address bar can be automated.

For example, if the first action in the browser is to open a specific web page, just specify the URL and the robot will open it automatically.

  1. New tab - you can enter the URL address that should open the designer in a new tab.
    This block supports "Replaceable resource", more details about it will be described below.

  2. Activate tab - selects the tab you specify in order to switch to work in it.

  3. Close tab - you can close either the current tab or specify the number of the tab to be closed.

  4. Open URL - launches the specified URL in an open tab.

  5. Refresh Page - refreshes the page on a pre-specified tab.

Replaceable resource 🌠

A handy tool for working in a team, it allows the script creator, when sharing the script with all the users in the team, to have each of them specify their own action in the element, instead of the one specified by the script creator.

Block Mouse 🖱

Mouse is all the actions aimed at reproducing the cursor movements as accurately as possible. Clicking on a certain button, scrolling to the desired element on a web page - everything is easy to perform, you just need to set the necessary parameters.

For example, after opening a web page, you need to click on a certain field or button to enter data. It is enough to specify coordinates or a page element to be clicked by the bot.

  1. Click - Imitation of a mouse click

  • Selecting the mouse button to be used by the script

  • You can specify a Usage Selector or Coordinates

There are 3 types of Selector ⬇️

XPath - allows you to search by any attribute of an element. Developers often add their attributes to various tags, which can be used, for example, to search the DOM tree, select author blog posts, or search tables. XPath is effective where other search methods fail.

Tables are found on many web pages, and there are often many of them on a single page, each of which can contain hundreds of rows. How do I make a selector for a link in an "In Concordance" cell? Classes can be at the top levels, tags are the same, and there are no attributes at all. XPath does a great job with this because of its features and full-text search capability. For example:

//[contains(.,'Deals')]//td[contains(.,'Pending')]//a

Such a selector is easy to read and easy to modify if necessary.

In addition, XPath demonstrates flexibility. If, in the example above, the set of records would contain 'Procurement', you could add the procurement number as an additional condition, e.g. as follows:

//*[contains(.,'Transactions')]//tr[contains(.,'Procurement 4')]//td[contains(.,'Under approval')]//a


You can get XPath on a page in the browser as follows: press CTRL+Shift+C (or on Mac - CMD+Shift+C), then select the desired element on the page and click on it. After that, the code of the desired element will be highlighted, from which you can copy the path in XPath format


CSS is the selection of an element through its value in a stylesheet. A more convenient and frequently used selector. Read More


Text - a simplified version of those listed above as it simply selects an item via text on the specified page

  • Coordinates - the point is to emulate mouse click on specified coordinates. You can easily find coordinates using a simple extension for chrome and install it according to our instructions.

This method is a "last resort". When the selector is not realistic at all. Some sites completely change their structure with each update, to protect against automation. That's just the coordinates for them.

2. Mouse movement - works in the same way as coordinates.

3. Scrolling - simulates scrolling of the mouse wheel on the page to a certain coordinate. (there is no possibility to specify the scrolling speed).

Block Keyboard ⌨️

Keyboard - similar to working with a mouse, you can enter any text or press any keys, which the script will execute automatically. You only need to specify the initial parameters.

For example, to enter an account login and password, you just need to provide the robot with the parameters and it will perform the entry by itself.

  • Press key - specifies the key to be pressed in a certain area.

  • Print text - specifies the text to be printed in a certain area.

This unit supports Replaceable resource.
Key combination, you can only specify from the available list.

Block Data 🗂

Data is one of the most important blocks.

Most of the actions in the browser involve interacting with data on a web page. For example, you may want to save data from all cards and then automatically substitute it into each account. Or download creatives for an advertising campaign from a specific folder on your computer. Perhaps you need to download a funny meme and send it to your grandmother 😁. By specifying the folder from where creatives will be uploaded to each ad cabinet, you can automate this process using our functionality. Detailed instructions on the correct use of actions from this block will be given in the future.

  • Element exists - uses the selector principle as described in the Click block.

  • Get URL - the link is written to a variable and then it can be saved, for example, to a file.

  • Get Text - this function copies text from the specified area and creates a variable under it, by which you can later paste the text into Print Text or any other similar function.
    This block supports Replaceable resource

  • Get attribute value - this function allows you to get the value from the site exactly from the element value. The function selects the first string with the <value> attribute and writes it to a variable.

  • Get value - here you can specify any attribute, you can find out what kinds of attributes there are here. In html there are attributes, for example: <div class="abcd">text element</div> class is an attribute, and abcd is its value. Also a useful method to get information from a specified element.

  • Random - makes random text (Email, Full Name, Random Letters, Password, First Name, Last Name, Number) in the specified field.

  • File upload - upload a file to the site, for example an avatar.
    It is important that you need to find an input element with the file type (<input type="file" />) and copy it in XPath format(for example). This might look like this //*[@id="add_files_btn"], usually in loaders the big Load button doesn't actually do anything but click on the actual input type=file loader .
    This block supports the Replaceable resource

  • Read file - this function reads a file from the hard disk. This is necessary to e.g. pull text from a file on the PC and paste it into some input field on the website.
    This block supports the Replaceable resource

  • Write file - saves data from the specified variable to the specified file (available formats - TXT, CSV, JSON, DOCX, DOC, XLSX). For example: Get text from a page by specifying XPath and creating a variable for it - Write a file ( specify the path to the file to be written to, e.g. TXT file and select the write mode)
    This block supports a Replaceable resource

  • HTTP - creates requests, for example this is how you can do integration with telegram or sms service or change IP on mobile proxies via a link.

  • Create variable - literally, creates a variable and assigns a value to it. Also, if you create another variable with the same name, you can change its value.
    This block supports Replaceable resource

  • A spintax is a text syntax that looks like this:
    {Hello|Good afternoon}! I hope you're in a {good|great} mood! {{Thank you and|Wishing you a great day|Good luck|Bye}!
    It is used to generate random text from a set of choices. For example, the spintax above can generate the following text: "Good afternoon, I hope you are in a great mood! Have a great day!" and will be different every time, with 16 possible variations.
    This block supports the Replaceable resource

  • Get phone number - used together with the Check SMS code function, creates a phone number via sms-activate.org service, which will then receive an SMS code to confirm the identity on the site.
    This block supports Replaceable resource

  • Check SMS code - receive the code to the number created in the function described above. You need to specify the access token from sms-activate.org. We recommend to wait at least 20 seconds before checking the code (set Pause), so that it has time to pass and check the code not more than once every 5 seconds to avoid blocking on sms-activate.org
    This block supports Replaceable resource, more details about it here.

  • Solve captcha - a bot ( rucaptcha.com service) passes the captcha for the user.
    There are 2 variants of captcha:

    • Text captcha: it is enough to specify the selector by which the location of the captcha is determined (image with text). Then you need to specify the name of the output variable, add a click button for the captcha text input field, and then use the " Print text" function by entering the variable that was written in the output variable in the "Solve captcha" block.

    • Captcha with pictures from Google ReCaptcha (V2): just specify a selector to locate the captcha and add a click button to click, for example, "OK" or "Pass" (depending on the site) . After that you can continue executing the script.

Important! You need to be registered and have funds in your account on the site rucaptcha.com to pass captcha, without this function will not be able to use. On this site you will receive an access token you already insert it in the advisory field Antikapcha: online service for recognizing, bypassing and automatically solving captcha rucaptcha.com token. This block supports Replaceable resource

Dolphin{anty} block 🐬

This block is designed to interact with the Dolphin {anty} functions on the outside of the profile.

  • Profile Status - sets the Status for the browser profile, can be set at any stage, for example, after pouring or performing the required action completely, you can specify the status "Done".

  • Profile notes - sets a note for browser profile, can be set at any stage. For example, before you start farming, you can write "FB account login and password" in a note .

Block Other 🌌

Other - this includes actions that do not fall into the previous categories. You can add data processing loops or randomize bot actions (e.g., insert pauses) to make the script look as natural as possible, mimicking the behavior of a real user.

  • Pause - creates a delay before the next block is executed, imitating the behavior of a real user.
    For example: you may need to wait for a button to appear on the page or receive an SMS code from the site.

  • Condition - if the specified condition is True , the action goes on the green thread. If False, that is no - on red thread. For example: needs to find Instagram pages that post a lot of posts. To do this, after the script has calculated the number of photos on the page, a "Condition" block is created with the following condition: NumberPhotos > 5. If the value of the variable "Number of Photos" is greater than five (for example, 6, 10, 49), the script will continue on the green branch. If the value of the variable is less than or equal to five (e.g. 1, 4, 5, -20), the scenario will follow the red branch.

  • Eval - you can enter your any JS code and it will be executed.

  • Foreach loop - is executed for each element of the array (the array can be obtained only through the Read File function)
    For example: Three search queries are specified in the file, and the task is to open three Google tabs with search results for this data. The "Read File" block specifies the file with data on lines:
    1
    2
    3
    Next, the loop specifies the output variable from the "Read File" block and creates a variable for one element, for example, element. The "New tab" action specifies the URL https://google.com?q=${element}, where

    ?q=${element} is the variable usage for one element from the loop. After exiting the loop, two paths are specified that lead to the same action. You can then continue with any desired action. It is important to note that when using strings in the "Read file" block, the strings are processed from the end of the text.

  • While loop - checks the condition before each iteration. If the condition is met, it passes through the red thread, if it is not met, it passes through green thread.
    For example: for farming you need to open 4 separate but identical tabs and find random data in them, for example Names. After finishing it will exit the loop and continue the specified actions further.

  • For loop - checks the condition before each iteration, it is executed as many times as necessary, for example 5 times in a row. That is, in the loop itself you need to set the value from 1 to 5 and then loop the action Download file and specify the output from the loop for further actions.

What Foreach, While and For loops are and how they differ can be found here.

  • Add Comment - Creates a comment box on the workspace for comments that can be specified next to the desired block.

  • Stop - Closes the browser profile after all specified actions have been performed. For Stop you need to set the Red thread.

After analyzing all actions, it is worth showing how to build your first small script and run it on several profiles at once.

My first Script 😎

As an example, let's take a look at the clicker for bitcoin faucet https://freebitco.in/. So far, all that is required from the script is to click on the Roll button once an hour and your account will be credited with satoshis. In this case you don't need to pass captcha, the button is just available for activation once an hour.

It should be emphasized that this is just an example, but the information from this article can be used to create any other scripts.
  1. First, add the Open URL action. You need to click on it, copy the entire address from the browser address bar (https://freebitco.in/).

2. Connect the first block to the green Start circle.

  • At this point, you can already run the script - and see a new URL with the address you entered automatically open after the browser loads.

You can run the script either on an "empty" browser copy or select one of your profiles from the list.


4. When you get to the site, being unauthorized, after a couple of seconds a pop-up window appears - which you can get rid of if you left-click anywhere outside the pop-up window. Let's add a Pause action and then a Click action.

The correct pause timing can be calculated manually, the main thing to remember is that the value is specified in milliseconds (for this example we will take 5000).

To make a click, you can select the "left button" and "coordinates" option. In this case you can enter random coordinates (Y150 X150), the main thing is that the click was made outside the popup window and it disappeared.

You can determine the coordinates yourself using third-party extensions.

5. The pop-up window is gone, and now you need to authorize. Or you can be already authorized on this site, in which case you can go straight to the next item.

You need to click on the email field, enter your login/email there, then click on the password field, enter your password, and then click on the authorization button. In total, there are 5 blocks of actions.

In order for the robot to click a certain element, you need to specify which one. It may happen that the element will not always be in the same place, so coordinates will not help. We will use the "xpath" selector - you can copy it from the browser console in advance.

Copy the Xpath of the element into the "click" action in the constructor, and it will click exactly on that field.

The field is activated and we need to enter our mail. Select the Print text action and enter the mail in it.

Do the same with the password field. We select the Xpath element of the Sign Up button, and get to the main page.

Also, the Xpath element may not always be permanent - alternatively, you can use the CSS or Text option (specifies the element that contains the entered text). All this can also be seen through the browser console.

6. Now to the main page. All you need to do is click the Roll button, and the desired action will be performed. Select the"Click" block again, copy the Xpath of the Roll button, combine it with the previous action and done - the button is pressed.

You can automate many more actions in this way - there are probably other similar cases. But if you have any questions, you can always contact our technical support on the website\in the app or via Telegram @dolphinsupport_bot.

Did this answer your question?