浏览器扩展
通过您自定义的浏览器扩展程序,增强您的浏览体验和会话。
APIs
- 上传扩展程序:
POST /extensions/upload
- 更新扩展程序:
PUT /extensions/{extensionId}
- 删除扩展程序:
DELETE /extensions/{extensionId}
- 获取扩展程序列表:
GET /extensions/list
- 获取扩展程序信息:
GET /extensions/{extensionId}
请参考API文档查看详情。
设置浏览器扩展程序
使用extension_ids
参数指定要设置的浏览器扩展程序ID。使用逗号分隔多个扩展程序ID。
例如:extension_ids=extension_id1,extension_id2
示例扩展程序
示例代码演示了如何通过API上传MetaMask扩展程序并在启动浏览器时指定加载它。
// npm install @scrapeless-ai/sdk puppeteer-core
import { Scrapeless } from '@scrapeless-ai/sdk';
import puppeteer from 'puppeteer-core';
const API_TOKEN = 'API Key'; // replace with your API Key
const EXTENSION_FILE_PATH = '/extensions/metamask-chrome-12.20.0.zip'; // replace with your extension zip file path
const client = new Scrapeless({ apiKey: API_TOKEN });
const { browser: scrapingBrowser } = client;
(async () => {
try {
const uploadResponse = await scrapingBrowser.extension.upload(EXTENSION_FILE_PATH, 'metamask'); // extension name
const extensionId = uploadResponse?.extensionId;
const { browserWSEndpoint } = scrapingBrowser.create({
session_name: 'use-extension',
session_ttl: 180,
extension_ids: extensionId, // setup browser extension, separate by comma for multiple extensions
});
const browser = await puppeteer.connect({
browserWSEndpoint,
defaultViewport: null
});
const page = await browser.newPage();
await page.goto('chrome://extensions/');
await page.screenshot({
path: 'extensions-screenshot.png',
fullPage: true
});
await browser.close();
} catch (error) {
console.error('Error:', error.response?.data || error.message);
}
})()
您可以访问chrome://extensions
页面检查扩展程序是否已成功加载。
结果如下所示: