You can load your own Chrome extensions into Browsers sessions.
Sample extension
Here’s a simple example extension that modifies page titles. It consists of two files:
{
"manifest_version": 3,
"version": "1.0",
"name": "My Test Extension",
"description": "Test of a simple browser extension",
"content_scripts": [
{
"matches": [
"https://www.sfmoma.org/*"
],
"js": [
"content-script.js"
]
}
]
}document.title += " -- Title updated by browser extension";Upload your extension
Once you have your extension files zipped up, you can upload it using the SDK:
import { Browsers } from '@agentmq/browsers';
import fs from 'fs';
const browsers = new Browsers({ apiKey: process.env.AGENTMQ_TOKEN });
const file = fs.createReadStream('extension.zip');
const extension = await browsers.extensions.create({ file });
const extensionId = extension.id;
console.log(`Extension uploaded with ID: ${extensionId}`);from agentmq.browsers import Browsers
import os
browsers = Browsers(api_key=os.environ["AGENTMQ_TOKEN"])
with open("extension.zip", "rb") as f:
extension = browsers.extensions.create(file=f)
extension_id = extension.id
print(f"Extension uploaded with ID: {extension_id}")Create a session with your extension
To use your extension, create a new session with the extension enabled:
import { Browsers } from '@agentmq/browsers';
const browsers = new Browsers({ apiKey: process.env.AGENTMQ_TOKEN });
const session = await browsers.sessions.create({
extensionId: 'your-extension-id'
});
console.log(`Session created with ID: ${session.id}`);from agentmq.browsers import Browsers
import os
browsers = Browsers(api_key=os.environ["AGENTMQ_TOKEN"])
session = browsers.sessions.create(
extension_id="your-extension-id"
)
print(f"Session created with ID: {session.id}")Verify the extension
To verify your extension is working:
- Connect to your session using Playwright or Selenium
- Navigate to a page where your extension should be active
- Check for the expected modifications or behaviors
For the sample extension above, navigate to https://www.sfmoma.org and verify that the page title has been modified with the additional text.