Captcha Recognition
🔗 Original page — Source of this material
Captcha Recognition
Description
This action is used for automatic captcha solving via ❗→ services or ❗→ manually.
A captcha (from CAPTCHA — Completely Automated Public Turing test to tell Computers and Humans Apart) is a computer test used to determine whether the user is human or a bot.
![]() |
|---|
| Some types of captchas |
How to add the action to your project?
There are several ways to add this action to your project.
Via the BROWSER context menu
To add the captcha recognition action using the ❗→ browserProjectMaker context menu, right-click on the image on the site and choose This is a captcha!

Once the action is added, the ❗→ manual captcha recognition window will immediately pop up, which you can close for now and move on to configuring the action.
Via the PROJECT context menu
Add action → Tabs → Recognize captcha

The downside to this method is that you first need to download the image to your computer and then specify the file path in the action.
Or you can use the ❗→ smart search.
Captcha recognition action settings
Main

Recognition module
Choose the module (captcha service) through which the captcha will be recognized.
From the dropdown list, select the desired captcha recognition service (you’ll need to specify its ❗→ API key in the settings first). By default, MonkeyEnter.dll is used — ❗→ manual input.
You can use project variables in this field.
Settings
Clicking the Settings button opens the program settings, in the ❗→ captcha service tab.
Element search
Before you can interact with an element on a page, you have to find it. In the actions ❗→ Get value , ❗→ Set value , ❗→ Fire event , ❗→ Touch event , ❗→ Swipe event, there are two ways of finding elements - classic and XPath.
Classic - Search by HTML element parameters: tag, attribute, and its value.

XPath - search using ❗→ XPath expressions. With this, you can implement a more robust way of finding data that withstands layout changes compared to the classic search or regex.

Which tab
Select the tab in which the element will be searched. Possible values:
- Active tab
- First
- By name - when selected, an input field will appear to enter the tab name.
- By number - the input field here should contain the tab’s number (count starts from zero!)
Document
It’s recommended to set this value to -1 (search in all documents on the page).
Form
Also better to set as -1 (search all forms on the page). This makes your template more universal.
Why set "-1"?
Example: there are 3 forms on a page — search, registration, and order. You need to click a button in the order form, so you choose “Form” value 2 (index starts from zero). After some time, a new login form is added before the order form, so number 2 will now be the login form — your template will either throw an error (button not found), or worse, click the wrong button.
In the program’s settings, you can tick two checkboxes — Search in all forms on the page and Search in all documents on the page. This means whenever an element is added to Action Builder, -1 is used for document and form numbers by default.
Tag (classic search only)

The HTML tag you want to get the value from.
You can specify several tags, separated by ; (semicolon)
Conditions (classic search only)

-
Group - priority of this condition. The higher the number, the lower the priority. If the element can’t be found using the condition with the highest priority, it moves to the next, and so on, until the element is found or the conditions run out. You can add multiple conditions with the same priority – in that case, search is done across all of them simultaneously.
-
Attribute — the HTML tag attribute to search by.
-
Search type:
-
text - search for full or partial text match;
-
notext - search for elements not containing the specified text;
-
regexp - using ❗→ regular expressions. By default, the search is case-insensitive. To make regex case-sensitive, add
(?-i)to the start of your pattern (turns off case insensitivity). -
Value - value of the HTML tag attribute.
-
# of match - sequence number of the found element (count starts from zero!). You can ❗→ use ranges and ❗→ variable macros here.
To delete a search condition, left-click the field to its left (blue highlighted in the screenshot), then press Delete on your keyboard.
You can use several conditions to search for an element.
It’s always important to try and choose your search conditions so only one element remains, i.e., match number 0 (count starts from zero).
Save the result to a variable
The recognition result will be saved into the specified ❗→ project variable.
Additional

Waiting
Wait before execution If you specify positive numbers in the *FROM and *TO fields, the action will pause for a random amount of time within that range before starting.
Wait for element up to If after this time the element is not found, the action will exit via the red branch (with an error).
Module parameters
Here you can specify additional parameters (options) for solving the captcha — case sensitivity, only Cyrillic letters, math captcha, multiple words, etc.
Format: parameter_name=parameter_value — separate multiple parameters with & (ampersand)
Example (based on the RuCaptcha API): phrase=1&numeric=2®sense=1
- captcha consists of two or more words, only letters, case sensitive
Sample parameters from different services
Additional parameters and their possible values are specific to each service.
Here are a few examples based on two popular captcha solving services.
RuCaptcha - go to the API documentation page https://rucaptcha.com/api-rucaptcha#solving_normal_captcha and scroll down to find a table with parameters you can specify
![]() |
|---|
| here are just some of the possible parameters |
Anti-Captcha - on the ❗→ documentation page for solving simple text captchas, there’s also a table of allowed parameters

Even just between these two services and just a small fraction of their parameters, you’ll see that
- some parameters mean the same thing but are named differently (case sensitivity — *case and *regsense)
- others have the same name and meaning, but accept different types of values (*phrase)
- some parameters fully match by name, purpose, and accepted values, but one service allows more options than another (*numeric)
Be extremely careful when using additional parameters if you are creating a project for multiple captcha services.
Captcha parameters
Scale This option lets you reduce or increase the size of the captcha image you send.
Combine captchas Sometimes a captcha consists of several images, so you can combine them to avoid paying for each piece separately. To combine captchas (if you didn’t do it when recording your template), set the “Combine captchas” flag in the properties window for the first captcha element. Then right-click on the next element, and a new context menu item will appear: Attach to captcha.

Each click creates a new action; for the last one, the Last captcha checkbox will be set (for previous ones, this checkbox is unchecked).
Async recognition
This setting allows you not to wait for a service response and continue executing your template.
Enabling this option creates a new action: Wait for captcha recognition. It does not have any settings, just a To start of recognition button, which will take you back to the main action (very handy if your template’s actions are on opposite sides of the workspace). The main action has a back button — To end of recognition.

Once the template reaches the main Captcha Recognition action, it will send the captcha to the service and keep working until it hits the Waiting... action, where it will pause until the service’s response is received. Afterward, you can use the variables you specified in the main action.
Complaint URL
Captchas are solved by humans on the service, and people, as we know, can make mistakes. Sometimes workers are inattentive or misread the task and, instead of writing the answer to an expression
3+88=?
, just write down the expression itself, even though the settings asked them to solve the math task.
For such cases, you can use this setting — if a captcha was solved incorrectly, send a request to this URL to complain about this specific recognition and the service will refund you.
Please don’t abuse this feature and only use it when a worker actually made a mistake and really solved the captcha incorrectly. If you complain and refund for correctly solved captchas, you will get banned very quickly.
Saving
These options let you save the captcha image and answer to the specified folder.
-
Folder - the directory where images will be saved (you can use ❗→ variables)
-
Answers - where to save the answers to captchas:
-
In the filename - handy, but may not always work since captchas might contain characters that cannot be used in Windows filenames.
- To a file - in this case the captcha image will be saved as *captcha(X).png in the chosen directory, where X is the captcha number. A file captcha(X).txt will also be created containing the answer. Here, filename restrictions won’t be a problem.
- Ignore “sorry” answer - for some errors, the Recognize captcha action returns sorry instead of a captcha answer. If this option is enabled, the program will not save captchas with such a response.
Where this can be useful:
- if you want to create your own module for the CapMonster Cloud service.
- when using ❗→ CapMonster 2 (a program for automatic captcha recognition) — this software supports many captchas out of the box, but there are some for which you need to ❗→ create modules yourself. To create a module, you need a base of correctly solved captchas — that’s where these action options come in: solve captchas (manually or via services), save the captchas and answers, and then train CapMonster 2 on them.
More information
Text captchas
Quite often, especially on poorly protected resources, you’ll encounter text captchas. Unlike an ordinary (graphic) captcha, these aren’t drawn on an image — they’re just text. Such captchas don’t need to be sent anywhere, you can just extract (parse) them directly from the page text. To do this, get the page text via the ❗→ Data action, select the page text, check “parse result”, and enter a ❗→ regular expression in the parameters for parsing the page.
Math captcha
You might also encounter math text captchas. These are just like text captchas, except they usually show a math expression like 58+63. You could turn this text into an image and send it for recognition, or you can use JavaScript. To solve such a captcha, you can use the ❗→ JavaScript action from the “Your code” category. In the code field, insert a link to the variable that contains the parsed expression (like 58+63), and after execution, the action will return the result (121).
Flash captcha or captcha from any other element
If you come across a flash captcha, you can render it as a regular image and also send it for recognition. Find this element in the ❗→ elements tree, right-click to open the action menu, and choose “This is a captcha” — that’s it!
How to handle CAPTCHA recognition errors
The video was recorded for an older version of ZennoPoster, but the error handling algorithm remains the same and is not dependent on the program version.
How to take a browser screenshot using the Recognize Captcha action?
Sometimes there’s a need to take a screenshot of a specific HTML element or the whole site (even parts outside the visible area).
If you only need a screenshot of the browser window (the visible part of the site), it’s better to use the Image Processing action.
To do this:
- add the Recognize Captcha action to your project (make sure to do it via the browser context menu
, i.e., right-click any image on the site) - for the recognition module, select CaptchaSaver.dll
- specify the search criteria for the element you want to screenshot
- on the Additional tab, in the Module Parameters field, specify the full path for saving the image (you can use ❗→ variable macros)
Example action settings to screenshot the entire site


Example usage
Typical case
-
Right-click (RMB) on the captcha image and choose This is a captcha! from the context menu
-
right after adding this action, the ❗→ manual recognition window will pop up — you can close it
-
select the desired recognition module (by default, MonkeyEnter.dll - manual input)
-
make sure you’ve entered the API key in the ❗→ settings and funded your service account
-
Right-click in the input field where the captcha answer should go and select Field for captcha recognition result to add another ❗→ action for inputting the captcha answer (recording must be enabled in the project).
-
Or, you can find the field manually using the ❗→ Action Builder and input the answer using a ❗→ Set value action.
Combining
For this example, we’ll use a page with the following content:
Source code of the test page.
<!DOCTYPE html>
<html>
<head>
<title>CAPTCHA Test</title>
</head>
<body>
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACp0lEQVRYR+2XzWsTURDA54WkybbS9qAWLAY9mCoVxFTwD/CgePOgJz0JIlgP0oM3vXgSP6mH6sGL3pSAB/EgVUOhCJIliSWtH02qxMQ2SbObTbIfbt5zNmBrm232I4KXzLKwMPPe/HbmvXnzCPxnITb927Uzm46187HlxGF//zghnosMWIgQ4rMJ2mrGQAZgMzqjlxOq9HmzgSmA4Xw/t23yys7dsC/AgZd4gASHwXvyGDQ+JIAVis1vMzH0NJZYU6mUwkuxCPdWsileEUZtAYwFBuemgiOjB7i+Nft1gDgClNoAxBEg2cJ2ajEJ2Wp91zzU838rzSMQGNCmQ4d9PvzzfyH5XyqczaSqJbm8/SuAagkwxg2yaCi8wfeCUoOIUHDMo2AK+LqkV3R9nFfFh/ZSYALwTirDtXya9zBy3wlFg7J6Q9PeJ0HOmo0zTYFZBAyA6/n085gsnnYCYGXbBehGwFEEcBcUgJGU1cJa17M6IfBGlMXJzfv/j41tAEHXYUnDsu5AZKwBL7AMz1aFx7winu9oGzrwu8FUpg048SWuxBSxFxUtJ6PtCLgFWMYyfCYzV8T6saOjCHzTFJipCo44jBRMV1ZZTtMmeFW42xFAsxLm0p9wkohdCox3jRL6Ni5Ls1uNsZ2CbinuRqAbgWZHlEvPEyDP7G5Dw44BpbgdM6pSieAhUnXdki2pMkQdFiLDWdM7niFRqbxYU+jRBZBKlk1pODCgvgod6ukjXic/29b29vJ3PJgKV3lZvGkJgPeCjzeCew8e4frBD3gpwce9MOzDKTxZ/QlPV/J3YmplwhIAb0aX9nC9D84NDcGw30BwL8bxl9c0mMr9YDlVOx5XxdeWAIaBAQEecgFX0QgQ0uMagTGKY9P43sKe4JGtRejamYuBvwERl60wi4JyjQAAAABJRU5ErkJggg==" id="1">
<img src="data:image/png;base64,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" id="2">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAChklEQVRYR2NkGGDAOMD2M1DPASoq7JwsfMv+MzL4MPxnePb////8nzfPbyLkQao5gF3DaAqfgX22ZHwdw8+ndxgeTyn8/u39W2WGh9ef43MEVRzApmkUyC4stVa+bA4jMycP2L7ni1oYPp3enfDjxtmFNHUAm7qOHgsb72HZ/El8HPKacLteb5jG8HbvytKfN8720MwBrKoGBixsbDuAwS7Oa+iAYs/rDdMZ3u9dUfqdVg7gUDOMY+TgnKqUUM3DomuP4UmaOYBV3dCEmZGxk0NG1Sk4v5ah3VWTIffCT4Ybn//RNgRYNXSNmRlYW1gFxdxlvYCeN/NmmGfGzTDxzi+Gs+//MjAyoqZnqoYAu6ZRNiuv0ERhz0TmhGA/hgJ1boaoU98Znv34z/Dr5SOGZ/PrGYRcohj4TFyREiEV0wCnhvEbxcaVwqxCEgyqPIwMH34zMLz68Y/h4/GtDK/XT/727+f3ZxJRFSr8Fl40coCm8XullvUCLHxCYAt+vX7C8Gr1BIZv10+d+fuXIY6JmaFUIroikWYO4FA3buJQ0Kjlt/Rm+H7vMsOXc/ve/f39u/nnzXOTge75y6FhNI+mDgBawsihaRjL8J/R5v+/fxd+/vuyhOHOnU+w8KaHA/DWKaMOGA2B0RAYDYHREBicIbB+KsP7fato1yZErhw4NI3mSkSUJfFb+cCFXy3vZHh3fFv2z+tnp9GsVQyvDdWNm0Uc/GqEfTMYGNi4GBi+vWd4MrOK4eP9K45/blw4QHMHsGkY67Lx8J6TDk5n4RCTZvhy5xrDs41zb3+/dhrUUfhLcweALGDTMAxmYmBsB7ZOFRj+/z/z7y9D8q/b567TrW9IyCJc8gD2DJUwgibfBwAAAABJRU5ErkJggg==" id="3">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAELklEQVRYR8WXe2xTVRzHf7eP+4COdXVsbHVt1831AbJ1VSYkoxiN/xEDQ2KiMQEExCyIOiSgGCTEGmROE1j2YHEIgzjDY/iMbMKUuBFcW2BztXOMdY/KHp1rKPf2tr3Hu5ote8A6Q6+cv27uOed+P+d3fq+LwUMe2EPWh5gBEDrTNhEmeh8BUvCHauKCoUK283prtAPGBGBMnEhWlyq3WkGqWAR32n4Fz7H9ffRwKAv6W+7OBvHAAJKMnBWEXH5JVVQhxRNTJ7T6q/bCqKOxgHXazggH8KhRQcZRduUWq0q2ZMUUncFzpTDScKqIdtqLhQLAKH1uXeKzL65OW/s6+MNTZQbPl8FI/clddLvtoCAAhN709rz0JYeOlpWDNyyGw53BqRYQEoDKXPqUKP6RRvU7lfjOZWlQfpMFn3cIpPKFExDCWUD1eAI5H7fn77CqX3rOAiV/BsF7sRZ8Td+CZs8x4QEog/lcyjPrn79gLYLPu1movdIGPSWFYXyhUiw4AGHIfZNSGz/5oqICwiIJ7LV5wX1wM2KGevdRKdoPBAWQZmUvw2XyXwo/rcY35ajg5as0dFXtA1/LT6VIHC6lkjNbhQPQ5MhJUmxLffVAusVigYEAgtb6Ohj4sthB08PL8XnxGYICEPrcM4pV69YkFWyPOFmgvxO6i7fd4Vi/OeC85sKN2YsFA+Dz/HZKY/hMteMIYBIpcAEa3Ie28hBdrzAu+/ExIMEApDrTE/j8BZdVOyuJ8Tz/V81HMNr8XTXjtG0YjzlhALTmeBIHW+qm/dq4HEtEy3f1R/AcP9DOeENPwu3rfkEB+Hs/rVhZsDbphTciOuyAG7o/3kKHGDqPdbbcmJx3Y24BUmfaSKr0Vaq3SiP3jkJBcBe/BkxvRyPC4KvpxQVDSEmkaHfPDMNTdYjjvsYAOek/HE38Pm7G3ntVKlJv7lQXlWlJtSEyPeZ4Q98c5R+mlbxJm6VJaZBgKZh443fZwH/tZ+CCAQj0dgDT4/qNYbz5cOsWM1nzng0JaTCzWSUNUkwsma2Szn0OIeir2AO+1svrWKf99FwAmvkmI296kzF3xZkrPSc+BN+VHzbw0VMdHUBvsogo2feKVespQqWL+AFE6V8lCxRApGonvh0aHYaApwtQOMRfgQu8F0747nppA/TY+6MCjC0g9NlZGBJtRJhoMYZxxKynR5gMT1YvT38vkpciY/A836jU13Tw4B2IQy6EguWs64ZzTk74X00d8zCMCUAd3xM2CNgTTobEM01GSqlu07zLXwH2b2ANnj0MIxdrhWtKp1hJY1wkS0z2ZOyuAohL5NMmDbdrrPC349Jmpt3BJ5D7jwf+MRn/NJ87mpOeXpOXkLsSmIE+6K09wvp93sfg5u/u/wdAtzQdRJJKQJDPC3ZzHOxiXbaz0fwpZhaIJnS/+X8AFD8VP30FZWcAAAAASUVORK5CYII=" id="4">
</body>
</html>
Each symbol is a separate HTML element. Right-click the first image — This is a captcha!, select Combine captchas in the settings, then right-click the other images and select Attach to captcha from their context menus. In the end, you should have four actions:

When you run the project, the first three actions will just collect the images and merge them, and only the last one will add the final part and send it to the service for full captcha recognition.
Additional parameters when sending
Let’s say you get a captcha like this:
It consists of separate pieces and you need to write the result of the expression (in this case — addition).
Source code of the page with the captcha
<!DOCTYPE html>
<html>
<head>
<title>CAPTCHA Test</title>
</head>
<body>
<img src="data:image/png;base64,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" id="2">
<img src="data:image/png;base64,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" id="1">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAChklEQVRYR2NkGGDAOMD2M1DPASoq7JwsfMv+MzL4MPxnePb////8nzfPbyLkQao5gF3DaAqfgX22ZHwdw8+ndxgeTyn8/u39W2WGh9ef43MEVRzApmkUyC4stVa+bA4jMycP2L7ni1oYPp3enfDjxtmFNHUAm7qOHgsb72HZ/El8HPKacLteb5jG8HbvytKfN8720MwBrKoGBixsbDuAwS7Oa+iAYs/rDdMZ3u9dUfqdVg7gUDOMY+TgnKqUUM3DomuP4UmaOYBV3dCEmZGxk0NG1Sk4v5ah3VWTIffCT4Ybn//RNgRYNXSNmRlYW1gFxdxlvYCeN/NmmGfGzTDxzi+Gs+//MjAyoqZnqoYAu6ZRNiuv0ERhz0TmhGA/hgJ1boaoU98Znv34z/Dr5SOGZ/PrGYRcohj4TFyREiEV0wCnhvEbxcaVwqxCEgyqPIwMH34zMLz68Y/h4/GtDK/XT/727+f3ZxJRFSr8Fl40coCm8XullvUCLHxCYAt+vX7C8Gr1BIZv10+d+fuXIY6JmaFUIroikWYO4FA3buJQ0Kjlt/Rm+H7vMsOXc/ve/f39u/nnzXOTge75y6FhNI+mDgBawsihaRjL8J/R5v+/fxd+/vuyhOHOnU+w8KaHA/DWKaMOGA2B0RAYDYHREBicIbB+KsP7fato1yZErhw4NI3mSkSUJfFb+cCFXy3vZHh3fFv2z+tnp9GsVQyvDdWNm0Uc/GqEfTMYGNi4GBi+vWd4MrOK4eP9K45/blw4QHMHsGkY67Lx8J6TDk5n4RCTZvhy5xrDs41zb3+/dhrUUfhLcweALGDTMAxmYmBsB7ZOFRj+/z/z7y9D8q/b567TrW9IyCJc8gD2DJUwgibfBwAAAABJRU5ErkJggg==" id="3">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAELklEQVRYR8WXe2xTVRzHf7eP+4COdXVsbHVt1831AbJ1VSYkoxiN/xEDQ2KiMQEExCyIOiSgGCTEGmROE1j2YHEIgzjDY/iMbMKUuBFcW2BztXOMdY/KHp1rKPf2tr3Hu5ote8A6Q6+cv27uOed+P+d3fq+LwUMe2EPWh5gBEDrTNhEmeh8BUvCHauKCoUK283prtAPGBGBMnEhWlyq3WkGqWAR32n4Fz7H9ffRwKAv6W+7OBvHAAJKMnBWEXH5JVVQhxRNTJ7T6q/bCqKOxgHXazggH8KhRQcZRduUWq0q2ZMUUncFzpTDScKqIdtqLhQLAKH1uXeKzL65OW/s6+MNTZQbPl8FI/clddLvtoCAAhN709rz0JYeOlpWDNyyGw53BqRYQEoDKXPqUKP6RRvU7lfjOZWlQfpMFn3cIpPKFExDCWUD1eAI5H7fn77CqX3rOAiV/BsF7sRZ8Td+CZs8x4QEog/lcyjPrn79gLYLPu1movdIGPSWFYXyhUiw4AGHIfZNSGz/5oqICwiIJ7LV5wX1wM2KGevdRKdoPBAWQZmUvw2XyXwo/rcY35ajg5as0dFXtA1/LT6VIHC6lkjNbhQPQ5MhJUmxLffVAusVigYEAgtb6Ohj4sthB08PL8XnxGYICEPrcM4pV69YkFWyPOFmgvxO6i7fd4Vi/OeC85sKN2YsFA+Dz/HZKY/hMteMIYBIpcAEa3Ie28hBdrzAu+/ExIMEApDrTE/j8BZdVOyuJ8Tz/V81HMNr8XTXjtG0YjzlhALTmeBIHW+qm/dq4HEtEy3f1R/AcP9DOeENPwu3rfkEB+Hs/rVhZsDbphTciOuyAG7o/3kKHGDqPdbbcmJx3Y24BUmfaSKr0Vaq3SiP3jkJBcBe/BkxvRyPC4KvpxQVDSEmkaHfPDMNTdYjjvsYAOek/HE38Pm7G3ntVKlJv7lQXlWlJtSEyPeZ4Q98c5R+mlbxJm6VJaZBgKZh443fZwH/tZ+CCAQj0dgDT4/qNYbz5cOsWM1nzng0JaTCzWSUNUkwsma2Szn0OIeir2AO+1svrWKf99FwAmvkmI296kzF3xZkrPSc+BN+VHzbw0VMdHUBvsogo2feKVespQqWL+AFE6V8lCxRApGonvh0aHYaApwtQOMRfgQu8F0747nppA/TY+6MCjC0g9NlZGBJtRJhoMYZxxKynR5gMT1YvT38vkpciY/A836jU13Tw4B2IQy6EguWs64ZzTk74X00d8zCMCUAd3xM2CNgTTobEM01GSqlu07zLXwH2b2ANnj0MIxdrhWtKp1hJY1wkS0z2ZOyuAohL5NMmDbdrrPC349Jmpt3BJ5D7jwf+MRn/NJ87mpOeXpOXkLsSmIE+6K09wvp93sfg5u/u/wdAtzQdRJJKQJDPC3ZzHOxiXbaz0fwpZhaIJnS/+X8AFD8VP30FZWcAAAAASUVORK5CYII=" id="4">
</body>
</html>
First, merge all the images into one. Then, for the final action, select the required service (in this example, RuCaptcha) and in Parameters under Additional, specify that a math operation must be performed (for RuCaptcha: ```calc=1`)


