Giter Club home page Giter Club logo

agentbrowser's Introduction

agentbrowser

A browser for your agent, built on Playwright.

Lint and Test PyPI version

Installation

pip install agentbrowser

Usage

Importing into your project

from agentbrowser import (
    get_browser,
    init_browser,
    navigate_to,
    get_body_html,
    get_body_text,
    get_document_html,
    create_page,
    close_page,
    evaluate_javascript,
)

Quickstart

from agentbrowser import (
    navigate_to,
    get_body_text,
)

# Navigate to a URL
page = navigate_to("https://google.com")

# Get the text from the page
text = get_body_text(page)

print(text)

API Documentation

ensure_event_loop()

Ensure that there is an event loop in the current thread. If no event loop exists, a new one is created and set for the current thread. This function returns the current event loop.

Example usage:

loop = ensure_event_loop()

get_browser()

Get a Playwright browser. If the browser doesn't exist, initializes a new one.

Example usage:

browser = get_browser()

init_browser(headless=True, executable_path=None)

Initialize a new Playwright browser.

Parameters:

  • headless: Whether the browser should be run in headless mode, defaults to True.
  • executable_path: Path to a Chromium or Chrome executable to run instead of the bundled Chromium.

Example usage:

init_browser(headless=False, executable_path="/usr/bin/google-chrome")

create_page(site=None)

Create a new page in the browser. If a site is provided, navigate to that site.

Parameters:

  • site: URL to navigate to, defaults to None.

Example usage:

page = create_page("https://www.example.com")

close_page(page)

Close a page.

Parameters:

  • page: The page to close.

Example usage:

page = create_page("https://www.example.com")
close_page(page)

navigate_to(url, page, wait_until="domcontentloaded")

Navigate to a URL in a page.

Parameters:

  • url: The URL to navigate to.
  • page: The page to navigate in.

Example usage:

page = create_page()
navigate_to("https://www.example.com", page)

get_document_html(page)

Get the HTML content of a page.

Parameters:

  • page: The page to get the HTML from.

Example usage:

page = create_page("https://www.example.com")
html = get_document_html(page)
print(html)

get_page_title(page)

Get the title of a page.

Parameters:

  • page: The page to get the title from.

Example usage:

page = create_page("https://www.example.com")
title = get_page_title(page)
print(title)

get_body_text(page)

Get the text content of a page's body.

Parameters:

  • page: The page to get the text from.

Example usage:

page = create_page("https://www.example.com")
text = get_body_text(page)
print(text)

get_body_html(page)

Get the HTML content of a page's body.

Parameters:

  • page: The page to get the HTML from.

Example usage:

page = create_page("https://www.example.com")
body_html = get_body_html(page)
print(body_html)

screenshot_page(page)

Get a screenshot of a page.

Parameters:

  • page: The page to screenshot.

Example usage:

page = create_page("https://www.example.com")
screenshot = screenshot_page(page)
with open("screenshot.png", "wb") as f:
    f.write(screenshot)

evaluate_javascript(code, page)

Evaluate JavaScript code in a page.

Parameters:

  • code: The JavaScript code to evaluate.
  • page: The page to evaluate the code in.

Example usage:

page = create_page("https://www.example.com")
result = evaluate_javascript("document.title", page)
print(result)

find_chrome()

Find the Chrome executable. Returns the path to the Chrome executable, or None if it could not be found.

Example usage:

chrome_path = find_chrome()
print(chrome_path)

Contributions Welcome

If you like this library and want to contribute in any way, please feel free to submit a PR and I will review it. Please note that the goal here is simplicity and accesibility, using common language and few dependencies.

agentbrowser's People

Contributors

lalalune avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.