Skip to main content

Robocorp browser automation library

Project description

robocorp-browser

The robocorp-browser package is a light wrapper for the Playwright -project, with quality-of-life improvements, such as automatic lifecycle management for Playwright objects (meant to be used with robocorp-tasks).

Usage

robocorp-browser

👉 Check that you have added the dependency in your configuration; this library is not part of the robocorp bundle.

  • conda.yaml for automation Task Packages
  • package.yaml for automation Action Packages
  • requirements.txt, pyproject.toml, setup.py|cfg etc. for the rest
from robocorp import browser, vault
from robocorp.tasks import task

@task
def automate_browser():
    """Start a browser to login in the surfed page."""
    # The configuration is used to set the basic `robocorp.browser` settings.
    # It must be called before calling APIs that create Playwright objects.
    browser.configure(
        # NOTE: `screenshot="only-on-failure"` is the default.
        # If this function finishes with an exception, it will make a screenshot and
        #  embed it into the logs.
        screenshot="only-on-failure",

        # By default, `headless` is False, unless running in a Linux container
        #  without a DISPLAY/WAYLAND_DISPLAY environment variable, but it
        #  can also be manually overridden.
        headless=True,  # won't display the browser window

        # Interactions may be run in slow motion (given in milliseconds).
        slowmo=100,
    )

    # The `browser.goto()` call may be used as a shortcut to get the current page and
    #  surf some URL (it may create the browser if not created already).
    browser.goto("https://example.com>")

    _login()  # call the login instructions


def _login():
    # APIs in `robocorp.browser` return the same browser instance, which is
    #  automatically closed when the task finishes.
    page = browser.page()

    # `robocorp.vault` is recommended for managing secrets.
    account = vault.get_secret("default-account")

    # Use the Playwright Browser API as usual to interact with the web elements.
    page.fill('//input[@ng-reflect-name="password"]', account["password"])
    page.click("input:text('Submit')")

🚀 Get started with our template now!

Guides

API Reference

Explore our API for extensive documentation.

Changelog

A list of releases and corresponding changes can be found in the changelog.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robocorp_browser-2.3.4.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

robocorp_browser-2.3.4-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file robocorp_browser-2.3.4.tar.gz.

File metadata

  • Download URL: robocorp_browser-2.3.4.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-1014-azure

File hashes

Hashes for robocorp_browser-2.3.4.tar.gz
Algorithm Hash digest
SHA256 98d9fbb0721b67dbe95fccb45aafa4ec9b58d569b566bb0bdded4c45c041cac7
MD5 bde3684c0fbbb2f8b6753270bf3dde81
BLAKE2b-256 0b93b14005617da8bc514248cf07a914e54235ce0056cdfae4f7ff68486ee036

See more details on using hashes here.

File details

Details for the file robocorp_browser-2.3.4-py3-none-any.whl.

File metadata

  • Download URL: robocorp_browser-2.3.4-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/6.8.0-1014-azure

File hashes

Hashes for robocorp_browser-2.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f976f82e46aac0bbcffa9feab07068009a0fcb2682783c6cfe1e4cd5deaa1387
MD5 faf3515983bcd7a48846ab76ad14982f
BLAKE2b-256 0457b68f0c84108c09bc8bae92efb30d0d055042d7d37849a487c530719312e5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page