All Collections
Dolphin Anty
Script Builder
Script Builder Dolphin {anty}
Script Builder Dolphin {anty}
Updated over a week ago

Hello all, this is an introductory article on the Dolphin{anty} Script Builder.

❗️Important❗️ This functionality is only available on paid plan.

🧐 What is the Script Builder


In order to understand what this is, imagine: every action you take in the browser (every click, button click, login/password entry, and so on) can be delegated to a robot. All you have to do is write a "script" (i.e. a sequence of actions) that this robot has to perform.

A happy robot does all the work for the user, and a Dolphin Anty user is shocked by the magic of automating their accounts.

Browser automation is not so new. There are many great time-tested products where you can also write your own scripts and relax while they do everything for you. But where else can you find simple and intuitive browser automation along with the power of multi-accounting? You know the answer yourself:

Those who have at least once encountered chatbot builders will immediately understand what we're talking about. Only in the case of our functionality - it manages your entire browser page.

For example: you want a robot to perform some action on all your FB accounts (and there could be as many as you like), let it be the confirmation of card tethering. If you were to do it manually, the task would take several hours - you would have to enter each profile, perform a number of actions, and exit. If you have a lot of accounts, it becomes a real problem. With our new functionality you can make a simple script that will do it for you, even when you're asleep.

  • In fact, the functionality of the script you wrote is limited only by your imagination. Everything you do daily with your hands in the browser can be delegated to a robot. With Dolphin{anty} browser automation.

📖 Introduction to the Constructor

Our Scripts are based on the actions that the average user does every day at their computer and spends a lot of time doing. You build a chain of "actions" that will be performed in your browser window.

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

  • Here the program immediately invites us to create our first Scenario.

  • Also, this window will display all your Scripts and allow you to Delete or Edit them.

  • After creating a Script, the Workspace for creating a script opens for us.

📜 Scenario creation field

What we see in our tab:

  • The working field itself

  • A map of our workspace

  • Profile launch and workspace management module:

    1. Returning actions - you can cancel the addition of a block that is not needed.

    2. Select a profile on which you can immediately apply our script, also by selecting the Empty profile - a new temporary profile will be created, where you can test the script (the profile is not saved anywhere, it is needed only for the test and uses the ip of your PC).Also, the ready script can be run on multiple profiles in the Browsers tab

    3. Step-by-step script playback - Now you can always reach the desired step, pause it or stop the squeaking, edit the block and run it again. It is no longer necessary to restart the script!

    4. 3 dots - here you can choose how you want to run the profile:

      - headless - you can run the script in such a way that no browser window will be visible, and it will run quietly. It is convenient, for example, when you run the script on 20 profiles at once and you are sure that it will work. For example, a script on fb farming, you don't need to see 20 browser windows at once.

      - without images - when the script is running, no images will be loaded in the BP. It is necessary for work on mobile proxies - it saves traffic, and simply works faster. Of course, if pictures are needed (for example, captcha with a picture), there will be problems
      - Stop This function button will appear in the script start field, it stops the script completely at the desired place

    5. "Pointer" and "Highlight" - Using the Selection tool, you can move or delete several blocks at once.

  • Action blocks

    Deleting any action (For example: Close tab) is done after selecting the action on the field or selecting all items by pressing Shft + select item, then press Del on the keyboard to delete.

Connect the first block with the green circle🚩Start. This lets the script know where the starting point of the process begins.All actions should be connected 🧵 Threads so that the Constructor can understand the sequence of actions. Threads can be undone by pressing ❌ or connect 2 in parallel.The red thread - It gives you a choice.

Red thread is a safety net, it specifies another action in case the Green thread didn't work or there was a glitch on the site and the button that bot should have pressed didn't appear. Then for example: the bot will go on the Red thread that will lead him to some block, which will send you a notification in Telegram.

✅System variables

Some action blocks use system variables with browser profile parameters as input variables. This is necessary for mass logins to major working social networks or, for example, to build scripts that will interact not only within the browser, but can also be used between profiles. System variables cannot be rewritten and cannot be used as output variables.

  • Browser_profile_id -system ID of profile

  • Browser_profile_name - profile name

  • Browser_profile_login и Browser_profile_password - If the profile type Facebook, Google or Tiktok is selected, it saves the login and password from these fields into separate variables


Blocks are categorized into categories:

🧾Table of contents block

  1. Save the created scenario.

  2. Save as allows you to save a separate script with a new name at the moment of work.
    You can also choose to create a Scenario privately, either for the team or just for yourself.

  3. Logs - shows the logs after running a script on the profile in the Scripts tab.

🧭 Navigation block

Navigation is your interaction with web pages in general - open or refresh a page, go to a certain URL or switch to a certain tab, etc. All the things you do in the address bar can be automated.

For example - your first action in the browser is to open a certain web page. All you have to do is type in the URL and a robot will open it for you.

  1. New tab - You enter the URL that the constructor should open.
    This block supports Replaceable resource, more about it here

  2. Activate tab - It selects the clutch by count that you specify to switch to work in it.

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

  4. Open URL - Runs the specified URL in the open tab.

  5. Reload page - ОThe page is refreshed on a pre-specified tab.

🌠Replaceable resource

A convenient tool for working in a team, it allows the creator of the script when saving and sharing to all users in the team, each of them to specify their action in the item, not what the creator of the script specified.

🖱 Mouse Block

Mouse - all actions designed to copy your mouse movements as closely as possible. Clicking a certain button, scrolling to a certain element of the web page - Easy, just set the parameters and it will do everything for you.

For example: after opening a web page, you click on a certain field / button to enter parameters. All you have to do is specify the coordinates or element of the page for the bot to click on.

  1. Click - Simulating a mouse click

  • Selecting the button the bot will use

  • You can specify a Usage Selector or Coordinates
    Selector - There are 3 types:
    1. XPath - Allows you to search for any attribute of an element. Developers often add their own attributes to many tags, you can use for example for : DOM Tree Search, Author's Blog Post Selector, Table Search. XPath does it where others fail.

    Tables are quite common on web pages. And it's not uncommon to have multiple tables on the same page, and each table can contain hundreds of rows. How do you make a selector to a cell's "On Approval" link? Classes are left somewhere on top, tags are all the same, no attributes at all... XPath does a great job here, thanks to its features and full-text search:

    //[contains(.,'Transactions')]//td[contains(.,'On approval')]//a

    Such a selector is easy to read, so it is easy to make edits to it if necessary.

    By the way, here XPath shows additional flexibility. If in the "On Approval" example above there is a whole set of "Procurement", we can add the procurement number as another condition. For example, like this:

//*[contains(.,'Transactions')]//tr[contains(.,'Procurement 4')]//td[contains(.,'On approval')]//a
Get XPath on the page in the browser by pressing the key F12, on a Mac - cmd+opt+I/J, then select the desired item on the page, right-click View code, Then you copy the selected code in the format XPath.

More information can be read here

You can set a random click on a browser field using "Eval", where all you need to do is paste the code below:

let hrefs = document.getElementsByTagName("a");

hrefs[Math.floor(Math.random() * hrefs.length)].click();


2. CSS - is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, etc. A more convenient and frequently used selector.
Read more
3. Text - a simplified version of the above as it just selects the text on the specified page

  • Coordinates - the essence is to emulate a mouse click on the specified coordinates. Coordinates can be easily found 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. For very heavy sites. Some sites completely change their structure every time they are updated, to protect them from automations. For them, only by coordinates.

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

3. Scroll - Simulates the scrolling of the mouse on the page to a certain coordinate.

(no way to specify the scrolling speed yet).

⌨️ Keyboard block

Keyboard - similar to a mouse, you can type any text, press any key - the robot will do it for you. The main thing is to set the initial parameters.

For example - you need to enter the username / password of your account. You set the parameters that the bot enters - and it does it for you.

  • Press key - Specify the key to press in the braided area.

  • Type text - Specify the text you want to print in the braided area.
    This block supports Replaceable resource, more about it here

⚠️The combination of keys, you can specify only from the available list.

🗂Block Data

Data is probably the most important block, the one that is at the forefront of all functionality.

Look - most of your actions in the browser entail interacting with certain data on the web page. For example, you want to save data from all of your cards, and later substitute it for each account. Or you want to download the creatives in an ad campaign from a specific folder on your computer. Or you want to download (for some reason) a funny meme and send it to your grandmother. You can specify the folder from which the creatives should be downloaded to each of your ad accounts - this can be automated through our functionality.In the future we will tell you more about how to use the actions from this block correctly.

  • Element exists - Uses the selector principle as specified in Click.

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

  • Get text - in simple words, this function copies text from a specified area and creates a variable for it, from which you can later paste the text into Type text or any other similar function.
    This block supports Replaceable resource, more about it here

  • Get value - In this function we can get the value from the site exactly value. The function selects the first line with the attribute <value and writes it into a variable.

  • Get attribute value - here you can specify any attribute, what kinds of attributes you can learn here. This option is more suitable for coders. In html there are attributes: <div class="abcd">text elementa</div> class is an attribute, and abcd is its value. Also a useful method to get information from a specified item.

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

  • File Upload - upload a file to the site, for example an avatar.
    Important!!!! Find an input element with the file type (<input type="file" />) and copy it in the format XPath (for example). It might look like this //*[@id="add_files_btn"], Usually in downloaders, the big Download button doesn't really do anything but click on the actual downloader input type=file.
    This block supports Replaceable resource, more about it here

  • Read file - Reads a file from your hard drive. This is needed to pull text from a file on your PC and paste it into some site. For example: Blog
    This block supports Replaceable resource, more about it here

  • Write file - (available formats : TXT,CSV,JSON,DOCX, .doc, XLSX, (We will add pictures soon). Saves the data from the specified variable to the file you specify.
    For example: Get text from a page by specifying the XPath and creating a variable for it - Write file (specify the Path to the file to be recorded, TXT file format and select the recording mode.)
    This block supports Replaceable resource, more about it here

  • Http - Creates requests, for example, so you can make integration with telegram or sms-service or change ip on the mobile proxy.

  • Set variable - literally, it creates a variable and assigns a value to it. If you create another variable with the same name, you can also change its value.
    This block supports Replaceable resource, more about it here

  • Spintax - is a text syntax that looks like this:

    {Hello, good afternoon}! I hope you're in a {good|good} mood! {{Thank you,} and have 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! Hope you're in a great mood! Have a great day!" and will be different each time, with 16 possible variations.
    This block supports Replaceable resource, more about it here

⚠️ Recall that you can use variables in spintax.
  • Get base64 image frome page - is designed to save a picture in a text format like YWJjZGVm..... (this is an example base64), mostly used in automatic captcha solving to send a captcha picture to a captcha-solving service, at the specified coordinates. You need to create a variable in which to write this action (needed for further work).

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

  • Check SMS code - receiving a code to the number created in the Get phone number function. You need to specify the access token from the site https://sms-activate.org/ . We recommend that you wait at least 20 seconds before checking the code (set the Pause), so it has time to come and check the code no more than once every 5 seconds to avoid being blocked on http://sms-activate.org .
    This block supports Replaceable resource, more about it here

  • Solve captcha - The bot (service http://Rucaptcha.com) passes the captcha for you.
    You have 2 variants of captcha:

    • Text, click Image - just specify the selector to determine the location of the captcha itself (picture with text), enter the name of the Output variable, add a Click button to click on the field where you need to enter the captcha text, put the Type text function (enter the variable that was recorded in the Output variable in the Solve captcha block).

    • And captcha with pictures from Google ReCaptcha (V2) - just specify a selector to determine the location of the captcha itself and add a click button to click for example: OK or Pass (depends on the site), then continue your script.

    Important!!! Нmust be registered and have funds in an account on the site http://Rucaptcha.com Passing the captcha, without this function will not work. On this site you will receive a token of access it you already insert in the advising field Antikaptcha: online service for the recognition, bypassing and automatic solution of captchas Rucaptcha.com token.
    This block supports Replaceable resource, more about it here

    An example of a script to solve the captcha on the site

😍 Dolphin {anty} Block

Dolphin {anty} - this block is for interacting with Dolphin Anty functions from outside the profile.

  • Change Profile Status - sets the Status on the Browser Profile, you can set at any stage, for example, after pouring or performing the desired action completely, you can specify the status of "Done".

  • Change Profile Notes - sets the Note on the Browser Profile, you can set at any stage. For example, before you start farming, you can specify a note "Login and password of the FB account.

🌌 Other Block

Other is actions that were not included in the previous segments. You can add certain cycles of data processing, or randomize the bot's actions (add pauses, etc.) to make your script look like a real yuz as much as possibleера.

  • Pause - Creates a delay before the next block is executed, simulating a real user's choice. For example: you need to wait for a button to appear on the page, or you need to wait for the site to send an SMS code.

    For example: the site displays some window for a few seconds and you need to wait for it to close.

  • IF - If the specified condition is True, the action goes on the green thread. If False, that is, no - on the red thread. For example: You need to find instagram pages that are posting a lot of posts. In this case after you have counted the number of photos in the script, create a Condition block with the following condition: Number of Pics > 5If the value of Number of Pics variable is greater than five (6, 10, 49), then the script will follow the green line. If the value of the Number of Photos variable is less than or equal to five (1, 4, 5, -20), then the script will follow the red thread.

  • Eval - you can enter any JS code you like and it will execute.

  • Foreach - executed for each element of the array (the array can only be retrieved in the Read File function).
    For example: The file contains 3 search queries, we need to have 3 Google tabs opened and the search will find data from the file. In the Read file we specified the file with data by rows:
    1
    2
    3
    In the loop, we specify the output variable from the Read file and create a variable for one item, for example element. In the New Tab action we specify https://google.com?q=${element}, where ?q=${element} - is to use a variable of one element specified in the loop. To exit the loop we specify 2 paths in 1 action (so far it works this way) and continue any action you want. In Read file the use of strings in this case, starts at the end of the text.

  • While - Checks the condition before each iteration. If the condition holds, it runs on the red thread, if not, it runs on the green thread.
    For example: You need to open 4 separate but identical tabs to farm and find random data in them, for example Names. When you finish, you will exit the cycle and continue the specified actions further.

    ⚠️Again, this is just an example

    In the cycle (example) we specified:
    Variable: per1 (the one we specified in Create Variable before the loop)
    Operator: < (action will be executed as long as the variable < the value specified) you can specify the one you want
    Variable or value: 5 (any value, taking into account that in this case the check will be up to 5, because 5 can not be < 5, and thus will run 4 iterations of the cycle)

    Next, you specify any actions to perform the task in the screenshot it:
    New tab - https://www.google.com/
    Click - XPath //*[@id="APjFqb"] (the field selector for the search is specified)
    Type text - ${text} (what is specified in Random)
    Random - Name - English - Output variable "text"
    Pause - 2000

    Press key- Enter
    Create a variable - the name is the same as in the variable before the loop, installing: value 1 , operator + (we increase the value in the loop after each pass).Exit from the loop you can specify any We specified New tab.

  • For - Checks condition before each iteration, it is executed as many times as needed, 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 itself File Upload and specify the output of the loop for further actions.

What are the cycles Foreach, While and For and what is the difference between them you can learn here.

  • Add Comment - Creates a comment box on the workspace that you can specify next to the action you want.

  • Stop - Closes the browser profile after performing all specified actions. For Stop, you need to set the Red thread.

After breaking down all the steps, we'll show you how to build your first little script and run it on multiple accounts at once.

😎 My first Script

As an example, let's look at the clicker for bitcoin crane https://freebitco.in/ . So far, all that is required from the script is to click the Roll button once an hour, and the account will be credited with satoshi. In our case, it is not necessary to pass the captcha (although this module is already available Solve captcha ), the button is simply available for activation once an hour.

⚠️Again, this is just an example, but the information from this article, you can easily apply to the creation of any other scripts.
  1. First, add the Open URL action. Click on it, copy the entire address from the browser address bar (https://freebitco.in/).

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

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

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

4. When you enter the site, being unauthorized, after a couple of seconds a pop-up (pop-up window) appears - you can get rid of it if you left-click anywhere outside the pop-up. Let's add actions Pause and after it Click.

⚠️You can calculate the correct pause times by yourself, the main thing to remember is that we specify the value in milliseconds (for our example we take 5000).

In order to make a click, I chose the "left button" option and "coordinates". The coordinates I entered from random (Y150 X150), the main thing is that the click was made outside of the pop-up.

You can define the coordinates yourself using third-party extensions, but we will definitely add a coordinate determinant later on as well.

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

In this case, on an empty browser profile, we will also need to enter captcha (which, again, can't be done yet) for authorization, but we will assume that it is not there - you can just authorize in advance.

We need to click on the e-mail field, enter there our login/email, then click on the field with the password, enter the password, and then click on the authorization button. That makes a total of 5 blocks of actions.

For the robot to click on a certain element, we need to specify which one. It may happen that the element will not always be in the same place, so the coordinates won't help us. We will use the "xpath" option - to do that you can copy it from the browser console beforehand.

To bring up the console (developer tools) in the browser, on Windows, this is usually done with the F12 button, on Mac - cmd+opt+I/J. To inspect the desired interface element, you select the "pointer" tool, click on the desired element of the site interface and the necessary line of code will immediately appear in the console.

You copy the item's Xpath to the click action in the constructor, and it will click that exact field.

The field is activated, and we need to enter our email. Choose the action Type text and enter the mail in it.

Do the same with the password field. Select the Xpath element of the Sign Up button, and you will be taken to the home page.

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

6. We are on the main page. All we need to do is to press the Roll button, and the amount will come to our account. Again we choose the Click action, copy the Xpath of the Roll button, connect it to the previous action and voila - the button is pressed, the reward drops into the wallet.

Now imagine that you have 100, 500, 1000 such faucets - everything depends only on their number and the number of your profiles.

You can automate many more actions in a similar way - you probably have similar cases. Feel free to ask your questions if you have any. Also we will be very happy if you share in the comments what you would like to automate:)

Did this answer your question?