Skip to main content

Adapter for Selenium

Project description

Weberist

Weberist is a powerful web automation and scraping framework built on top of Selenium. It provides a flexible and easy-to-use interface for managing web drivers, handling browser profiles, and executing automated tasks in a variety of browsers, including Chrome and Firefox. This README will guide you through the installation, configuration, and usage of Weberist, including examples of how to use ChromeDriver and FirefoxDriver.

Table of Contents

Features

Installation

To install Weberist, you can clone the repository and install the required dependencies using pip:

git clone https://github.com/yourusername/weberist.git
cd weberist
pip install -r requirements.txt

Or install via pip:

pip install weberist

Make sure you have Docker installed and running if you plan to use the Docker features.

Configuration

Weberist uses a configuration file located in the config.py module. You can customize various settings such as the root directory, data directory, and browser versions.

Usage

Using ChromeDriver

To use ChromeDriver, you can create an instance of ChromeDriver and perform various actions like navigating to a URL, clicking elements, and sending keys.

from weberist.drivers import ChromeDriver

with ChromeDriver() as driver:
    driver.goto("https://example.com")
    element = driver.select("some-element-id")
    driver.click(element)

Using FirefoxDriver

Similarly, you can instantiate a Firefox driver using the BaseDriver class.

from weberist.drivers import BaseDriver

with BaseDriver(browser='firefox') as driver:
    driver.goto("https://example.com")
    element = driver.select("some-element-id")
    driver.click(element)

Running Docker Tasks

Weberist allows you to run browser instances in Docker containers using Selenoid. You can use the run_selenoid_driver_task function to execute tasks in a Dockerized environment.

from weberist.docker import run_selenoid_driver_task

def my_driver_task(driver):
    driver.goto("https://example.com")
    # Perform more actions...

result = run_selenoid_driver_task(my_driver_task, dockercompose_name='docker-compose.yml')

Modules

Data Management

The data.py module provides classes for managing user agents, window sizes, and profile storage. You can customize the data used for your web automation tasks.

Driver Management

The drivers.py module contains the BaseDriver class and specific driver implementations like ChromeDriver. It handles the instantiation and management of web drivers.

Docker Management

The docker.py module provides functions for creating Docker images, managing Docker containers, and running browser instances in a Dockerized environment.

Contributing

We welcome contributions to Weberist! If you have suggestions, bug reports, or feature requests, please open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

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

weberist-0.2.0.tar.gz (33.0 kB view details)

Uploaded Source

Built Distribution

weberist-0.2.0-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file weberist-0.2.0.tar.gz.

File metadata

  • Download URL: weberist-0.2.0.tar.gz
  • Upload date:
  • Size: 33.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-35-generic

File hashes

Hashes for weberist-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a9725ded22661e382d7862644a11d805e28ba1dee17d34b3e7bb922cc57ab42a
MD5 2e7dd9e5305fccb01c07fab5e9740ccf
BLAKE2b-256 756d7575f155a1636777bd8d2ffc2dc3efb21f0f2748edd3df47ecc28a8a244c

See more details on using hashes here.

File details

Details for the file weberist-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: weberist-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 39.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-35-generic

File hashes

Hashes for weberist-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d17049e82b498a981165f539bf8e75ef20ed3218435fa0b76f8999207d0e9f9d
MD5 cc67756ef6b35e85f6b925642a473749
BLAKE2b-256 b5124e48dc9c04f612f375e4bc3e617b6171632a856027eeb205613d98b50752

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