Tool

Automate Browser Interactions with Playwright

Playwright Browser Tool is an async Python wrapper for Playwright that lets AI agents navigate websites, extract text and links, click elements, and fill forms

Works with playwright

79
Spark score
out of 100
Updated 2 days ago
Version 0.14.23
Models

Add to Favorites

Why it matters

Leverage Playwright to programmatically control a web browser for tasks like navigation, data extraction, and form filling.

Outcomes

What it gets done

01

Navigate to any URL and extract its content.

02

Scrape text and hyperlinks from web pages.

03

Automate form submissions and element clicks.

04

Drive browser actions programmatically.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/li-tool-tools-playwright | bash

Overview

Playwright Browser Tool

Playwright Browser Tool is an async Python wrapper around the Playwright library that enables programmatic browser control. It provides methods to navigate websites, extract text and hyperlinks from pages, retrieve element attributes, click on page elements, and fill input fields - all through async function calls. Use this tool when building AI agents or automation systems that need to interact with live websites, scrape dynamic content, or perform browser-based workflows. It's designed for async Python environments where you need full browser automation capabilities beyond simple HTTP requests.

What it does

Playwright Browser Tool wraps the Playwright library to enable programmatic browser automation through async Python functions. It provides AI agents and developers with methods to navigate web pages, extract content (text and hyperlinks), interact with page elements through clicks and form fills, and retrieve element attributes - all through a simple async API.

When to use - and when NOT to

Use this tool when you need AI agents to interact with live websites, scrape dynamic content, automate form submissions, or navigate multi-page workflows. It's ideal for building agentic systems that need to browse the web, extract structured data from pages, or perform repetitive browser-based tasks. Do NOT use this tool if you only need static HTML parsing (a simple HTTP client would suffice) or if you require synchronous operations (this tool only supports async functions and Playwright browser APIs).

Inputs and outputs

You provide an async Playwright browser instance and CSS selectors for targeting page elements. The tool accepts navigation URLs, element selectors, form values, and attribute names as inputs. It returns extracted text content, lists of hyperlinks, current page URLs, element attributes (like innerText), and executes actions like clicks and form fills without return values.

Installation and setup

Install via pip:

pip install llama-index-tools-playwright

Initialize with an async browser instance:

browser = await PlaywrightToolSpec.create_async_playwright_browser(
    headless=False
)
playwright_tool = PlaywrightToolSpec.from_async_browser(browser)

Core operations

Navigate to pages and extract content:

await playwright_tool.navigate_to("https://playwright.dev/python/docs/intro")
await playwright_tool.extract_text()
await playwright_tool.extract_hyperlinks()

Interact with page elements:

await playwright_tool.click(selector="ELEMENT_SELECTOR")
await playwright_tool.fill(selector="ELEMENT_SELECTOR", value="Hello")
element = await playwright_tool.get_elements(
    selector="ELEMENT_SELECTOR", attributes=["innerText"]
)

Manage navigation state:

await playwright_tool.navigate_back()
await playwright_tool.get_current_page()

Who it's for

This tool serves developers who need web browsing capabilities for automation, data engineers automating web scraping pipelines, and teams creating autonomous systems that interact with web applications. An extensive agentic usage example is documented in a Jupyter notebook in the repository's examples directory.

Source README

Playwright Browser Tool

This tool is a wrapper around the Playwright library. It allows you to navigate to a website, extract text and hyperlinks, and click on elements.

Warning
Only support async functions and playwright browser APIs.

Installation

pip install llama-index-tools-playwright

Setup

In order to use this tool, you need to have a async Playwright browser instance. You can hook one up by running the following code:

browser = await PlaywrightToolSpec.create_async_playwright_browser(
    headless=False
)
playwright_tool = PlaywrightToolSpec.from_async_browser(browser)

Usage

Navigate to a website

await playwright_tool.navigate_to("https://playwright.dev/python/docs/intro")

Navigate back

await playwright_tool.navigate_back()

Get current page URL

await playwright_tool.get_current_page()

Extract all hyperlinks

await playwright_tool.extract_hyperlinks()

Extract all text

await playwright_tool.extract_text()

Get element attributes

element = await playwright_tool.get_elements(
    selector="ELEMENT_SELECTOR", attributes=["innerText"]
)

Click on an element

await playwright_tool.click(selector="ELEMENT_SELECTOR")

Fill in an input field

await playwright_tool.fill(selector="ELEMENT_SELECTOR", value="Hello")

Agentic Usage

This tool has a more extensive example usage documented in a Jupyter notebook here

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.