Skip to main content

Automate online browsing using python and AI

Project description

PyBA - Python Browser Automations

PyPI Downloads

This is a no-code browser automation software written in python. It can visit any website, automate testing, repetitive tasks, form filling and more. This library is specifically built for more exploratory analysis than EXACT inputs (though it supports both through different modes).

Features

  • Trace zip file creation to recreate the automation for playwright traceviewer
  • Logger and dependency management automatically
  • Creation of the automation script in file once successful
  • Local and server based database creation for holding all the actions performed
  • Stealth mode and config heavy files for custom bypass laws
  • Quick login to social media sites without passing credentials to the LLM
  • Thread safe for multiple tasks in parallel.
  • specialized extracted for sites like YouTube.

For examples on each of these features, checkout the eval directory.


If the software has helped, consider giving us a star 🌟!


Idea

This library will allow you to run an inhouse playwright instance and automate any task. These tasks can be related to web-scraping, OSINT (OpenSource INTelligence) etc.

This is built on top of playwright and it requires either VertexAI or OpenAI API keys to do the "thinking" part of the process. The library also contains support to automatically login to your social media sites (you'll have to provide a username and password! Check the the usage section for more on that) so you can use it for SOCmint or simple automated social media interactions as well.

We optionally allow you to enable tracing, the logs of which you can see on playwright's traceviewer. We also support logging and config files should you want to change any defaults

Why?

The need for such a software came when I was building a fully automated intelligence framework. The goal is to replicate everything a human can do on the internet, and automate that process. This tool will employ all sorts of anti-bot detection and anti-fingerprinting techniques (I am still learning about them...) and will make sure that nothing halts the automation.

Installation

The library can be installed via pip:

pip install py-browser-automation

or you can install it from the source:

git clone https://github.com/FauvidoTechnologies/PyBrowserAutomation/
cd PyBrowserAutomation
pip install .

Usage (quickstart)

[!NOTE] For more detailed instructions visit the docs

  • Import the main engine using:
from pyba import Engine
  • Set the right configurations depending on which model you want to use:

For VertexAI

engine = Engine(vertexai_project_id="", vertexai_server_location="", handle_dependencies=False)

For OpenAI

engine = Engine(openai_api_key="", handle_dependencies=False)

For Gemini (without VertexAI)

engine = Engine(gemini_api_key="")
  • Set handle_dependencies to True if you're running this for the first time and install the playwright browsers and other dependencies by following the instructions.

  • Run the sync endpoint using engine.sync_run()

output = engine.sync_run(prompt="open my instagram, tell me who has posted what and who all have put up stories", automated_login_sites=["instagram"])		# Read about the automated login sites in the docs
print(output)

or

output = engine.sync_run(prompt="visit the wikipedia page for quantum mechanics, and click the first hyperlink. Keep clicking the first hyperlink on the first paragraph, not the quoted text, until you reach the page for philosophy. Tell me how many pages it took")

engine.generate_code(output_path="/tmp/script.py")	# Generates the entire script
print(output)

For more use cases, check out the evals direcrtory.

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

py_browser_automation-0.2.5.tar.gz (48.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_browser_automation-0.2.5-py3-none-any.whl (71.6 kB view details)

Uploaded Python 3

File details

Details for the file py_browser_automation-0.2.5.tar.gz.

File metadata

  • Download URL: py_browser_automation-0.2.5.tar.gz
  • Upload date:
  • Size: 48.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for py_browser_automation-0.2.5.tar.gz
Algorithm Hash digest
SHA256 8ee443f3235cb1ec011ae9441c193e163ae61af0f060dda9451d1140eb67c81d
MD5 ef479f938963715896c03866af2f1fe3
BLAKE2b-256 7a6d7df7f0a128482f6b3725d3d06df63067ba8620ee0132680fac9e80ef634c

See more details on using hashes here.

File details

Details for the file py_browser_automation-0.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for py_browser_automation-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9a4fb6f60cf546efa751b9492f642e6311c053f17785b6e130f1babb2cb06d62
MD5 2982f383077851f9dbdbd885467f1554
BLAKE2b-256 079af6a43b8981250886ff8bd39d62d7c3950ee0b9b44a06d3ebe7f3f292f8df

See more details on using hashes here.

Supported by

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