BrowserAutomationStudio 23.2.0 has been released



  • Improvements to the browser fingerprints.

    To a greater extent, these improvements is related to the emulation of a mobile browser.

    Touch screen.

    Touchpad emulation has been implemented. This is how it looks in manual mode:

    In order to switch to the new mode, it is enough to apply a mobile fingerprint.

    To check if touch screen emulation is on, you need to look at the cursor in manual mode. If it is round, then emulation is on.

    An alternative approach is to use the "Touch screen mode" action. But since it does not replace all parameters related to mobile platforms, it is not recommended to use it without a fingerprint.

    Screen scrolling.

    Implemented screen scrolling using touch in automation mode:

    Swipes are performed in a humanlike way.

    Scrolling occurs automatically when using any actions which works with browser elements, such as: "Move And Click On Element", "Type Text", etc.

    In order to scroll to a specific element, use the "Move On Element" action.

    In order to scroll to specific coordinates, use the "Scroll" action with the "Use mouse wheel or touch" option.

    If you need horizontal scrolling, use "Drag from coordinates" and "Drag to coordinates" actions:

    Events emulation.

    The list of events that the site receives when using a mobile browser is significantly different from the events that the desktop generates. In addition to the obvious, such as the absence of mouse movement events or the appearance of touch events, there are also less obvious things, for example, the missing keypress event for some keys, changed "which" and "code" parameters for events associated with keys, etc.

    All these features are emulated by BAS when switching to a new mode.

    Moreover, some keys that are missing on the mobile can be used in BAS. In this case, site will not receive any notification about the event, but the browser will actually execute the functional part. For example, if you perform the "Type" action with the "<CONTROL>a" parameter, then all text will be selected in active input field, but the site will not receive notifications about pressing the ctrl or "a" keys.

    Using "<CONTROL>a", "<CONTROL>c", "<CONTROL>v" or arrow keys on the keyboard is safe, because on mobile the same can be done using special interface elements:

    Using other keys, such as delete, page up, page down, is less secure, since the site can theoretically track changes in text or screen position which is done without any user input.
    You can see events list on this page:

    https://data.bablosoft.com/events/

    Internal browser methods.

    Many internal browser methods work as if the browser were launched from a mobile device. For instance:

    1. document.createEvent('TouchEvent') will not give an error only in a mobile browser or in BAS with a mobile fingerprint.

    2. The ontouchstart event is undefined in the desktop version.

    And much more.

    Moreover, all changes were made at the browser level, and not by injecting javascript code. For example, the ontouchstart event will not only be present in the list of methods, but you can subscribe to it and receive notifications.

    New fingerprint factors.

    Added new factors: the list of voices for speech synthesis installed in the system, the amount of RAM.

    New variable selection window.

    In this version we have made the choice of variables, resources and functions as user friendly as possible.

    • Search for variables has been added.
    • New window with a list of variables and the last used variables.
    • Last variables in the menu list.
    • Create new variables from a new window.

    All these things allows you to reduce the number of clicks to select a variable. If you have used it recently, then you only need 2 clicks to select variable: on the field for insertion and on the variable itself.

    All of these changes also apply to resources.

    Working with the new version has become much more convenient, for example, here is how simple is to output current url in the log:

    Implemented by @Oyasumi-Punpun

    Excel has been added.

    The module allows you to work with excel files: read/write both individual cells and columns, sheets, work with different data types, import/export to resources or json, work with a list of sheets, formulas, styles, supports multithreading, asynchronous and synchronous types save files.

    Implemented by @GhostZ



  • Excellent, thank you! Excited to test out the scrolling and excel.



  • Original post>
    link text

    And one more issue that I encounter on this new 23.2.0 version is when work in record mode. When I click on interupt button to stop the bot, BAS writes it down in console log but continues to work until I click it again and then stops.

    And here is a note for the developer>

    Regarding BAS wont stop in record mode, it happens only when I create a new function on imported project. So after that when I hit interrupt button BAS writes error message in log window - error occured aborted by user, but not in red colour but in white as regular execution log messages by user. But bot continues to work until its hit again and than stops with regular red message,

    So I copied all code blocks from newly created function directly in existing function on place where it was nested and started bot again and that solved issue about bot not stopping in record mode, and stopped from firs click on interupt button with red message aborted by user.

    I saw that functions panel is updated in newest version, so report this behavior.

    alt text

    Update:
    Its not about function that triggers interupt button need to be clicked twice. Now even without new function I have to click interrupt button twice, so its up to when in code execution interrupt button is clicked, so it might be default behavior on some actions. If I click it on GET request or download action
    it triggers need to click interrupt button twice in recording mode so script stops.


Log in to reply