BrowserGym: a gym environment for web task automation in the Chromium browser
Project description
BrowserGym
This package provides browsergym
, a gym environment for web task automation in the Chromium browser.
Setup
To install browsergym, you can either install one of the browsergym-miniwob
, browsergym-webarena
and browsergym-workarena
packages, or you can simply install browsergym
which includes all of these by default.
pip install browsergym
Then, a required step is to setup playwright by running
playwright install
Finally, each benchmark comes with its its own specific setup that requires to follow additional steps.
- for miniwob, see miniwob/README.md
- for webarena, see webarena/README.md
- for workarena, see the WorkArena README
Usage
Open-ended task example
Boilerplate code to run an agent on an interactive, openended task:
import gymnasium as gym
import browsergym.core # register the openended task as a gym environment
env = gym.make(
"browsergym/openended", start_url="https://www.google.com/", wait_for_user_message=True
)
obs, info = env.reset()
done = False
while not done:
action = ... # implement your agent here
obs, reward, terminated, truncated, info = env.step(action)
MiniWoB++ task example
Boilerplate code to run an agent on a miniwob task:
import gymnasium as gym
import browsergym.miniwob # register miniwob tasks as gym environments
env = gym.make("browsergym/miniwob.choose-list")
obs, info = env.reset()
done = False
while not done:
action = ... # implement your agent here
obs, reward, terminated, truncated, info = env.step(action)
List of all the available MiniWoB++ environments
env_ids = [id for id in gym.envs.registry.keys() if id.startswith("browsergym/miniwob")]
print("\n".join(env_ids))
WebArena task example
Boilerplate code to run an agent on a webarena task:
import gymnasium as gym
import browsergym.webarena # register webarena tasks as gym environments
env = gym.make("browsergym/webarena.310")
obs, info = env.reset()
done = False
while not done:
action = ... # implement your agent here
obs, reward, terminated, truncated, info = env.step(action)
List of all the available WebArena environments
env_ids = [id for id in gym.envs.registry.keys() if id.startswith("browsergym/webarena")]
print("\n".join(env_ids))
WorkArena task example
Boilerplate code to run an agent on a workarena task:
import gymnasium as gym
import browsergym.workarena # register workarena tasks as gym environments
env = gym.make("browsergym/workarena.servicenow.order-ipad-pro")
obs, info = env.reset()
done = False
while not done:
action = ... # implement your agent here
obs, reward, terminated, truncated, info = env.step(action)
List of all the available WorkArena environments
env_ids = [id for id in gym.envs.registry.keys() if id.startswith("browsergym/workarena")]
print("\n".join(env_ids))
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
Hashes for browsergym-0.1.0rc0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7414c0653e7fb44c857c5c49e01ad529e7a938e199222f56392a5b5e0824fad6 |
|
MD5 | 8b7913aa99721275727cca670e358824 |
|
BLAKE2b-256 | b540d03e2a5b36b46169ca67773aedf3d64dbcadcd452bc244c0dfe89316345f |