LLM-powered web automation library with autonomous agents and natural language selectors
Project description
webtask
LLM-powered web automation with autonomous agents and natural language selectors.
📚 Documentation | 🐍 PyPI | 📊 Benchmarks
Quick Start
pip install pywebtask
playwright install chromium
export GEMINI_API_KEY="your-key" # or OPENAI_API_KEY
Autonomous mode - Give it a task, let the agent figure out the steps:
from webtask import Webtask
from webtask.integrations.llm import GeminiLLM
wt = Webtask(headless=False)
llm = GeminiLLM.create(model="gemini-2.5-flash")
agent = await wt.create_agent(llm=llm)
result = await agent.execute("search for cats and click the first result")
Direct control - Natural language selectors, you control the flow:
await agent.navigate("https://example.com")
search = await agent.select("search box")
await search.fill("cats")
button = await agent.select("search button")
await button.click()
No CSS selectors. No XPath. Just describe what you want.
Features
- Multimodal by default - Sees screenshots with bounding boxes + DOM text
- Extensible - Pluggable LLM and browser interfaces
- Batteries included - OpenAI, Gemini LLMs and Playwright browser provided
- Isolated sessions - Separate cookies and storage per agent
Documentation
Benchmarks
webtask-benchmarks - Evaluation on Mind2Web and other benchmarks
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pywebtask-0.15.1.tar.gz.
File metadata
- Download URL: pywebtask-0.15.1.tar.gz
- Upload date:
- Size: 56.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49e1b5b7f7ffbc837e37991529f313f496caa929aafe6f189dff580fc30c1f9e
|
|
| MD5 |
1573a4101d1476da718609ca691727b5
|
|
| BLAKE2b-256 |
db4e053a3e5bed51c66ef822d426fbb36582e2662825720faae90fcf9956192b
|
Provenance
The following attestation bundles were made for pywebtask-0.15.1.tar.gz:
Publisher:
publish.yml on steve-z-wang/webtask
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pywebtask-0.15.1.tar.gz -
Subject digest:
49e1b5b7f7ffbc837e37991529f313f496caa929aafe6f189dff580fc30c1f9e - Sigstore transparency entry: 702309453
- Sigstore integration time:
-
Permalink:
steve-z-wang/webtask@59f3a19e544d445d9613b47a0716807f4f6d2b0b -
Branch / Tag:
refs/tags/v0.15.1 - Owner: https://github.com/steve-z-wang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@59f3a19e544d445d9613b47a0716807f4f6d2b0b -
Trigger Event:
push
-
Statement type:
File details
Details for the file pywebtask-0.15.1-py3-none-any.whl.
File metadata
- Download URL: pywebtask-0.15.1-py3-none-any.whl
- Upload date:
- Size: 89.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
293cac753323732dafbfe9002733811a87bc2632e4ffac040c7c502de3456de6
|
|
| MD5 |
bff4fea1bf6793d7f641205f55e9b94a
|
|
| BLAKE2b-256 |
891c9c912bf89d23dcf1fa847dfc6f67f9492f4a1925f1733d0e951a772e1953
|
Provenance
The following attestation bundles were made for pywebtask-0.15.1-py3-none-any.whl:
Publisher:
publish.yml on steve-z-wang/webtask
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pywebtask-0.15.1-py3-none-any.whl -
Subject digest:
293cac753323732dafbfe9002733811a87bc2632e4ffac040c7c502de3456de6 - Sigstore transparency entry: 702309454
- Sigstore integration time:
-
Permalink:
steve-z-wang/webtask@59f3a19e544d445d9613b47a0716807f4f6d2b0b -
Branch / Tag:
refs/tags/v0.15.1 - Owner: https://github.com/steve-z-wang
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@59f3a19e544d445d9613b47a0716807f4f6d2b0b -
Trigger Event:
push
-
Statement type: