ブラウザ拡張機能
カスタマイズしたブラウザ拡張機能を使用して、Scrapeless によるブラウジング体験やセッションを強化します。
API
- 拡張機能をアップロード:
POST /extensions/upload - 拡張機能を更新:
PUT /extensions/{extensionId} - 拡張機能を削除:
DELETE /extensions/{extensionId} - 拡張機能一覧を取得:
GET /extensions/list - 拡張機能情報を取得:
GET /extensions/{extensionId}
詳細は APIドキュメント を参照してください。
ブラウザ拡張機能を設定
ブラウザ拡張機能を設定するには、 extensionIds パラメータを使用して拡張機能IDを指定します。複数の拡張機能IDを指定する場合は、カンマで区切ります。
例: extensionIds=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({
sessionName: 'use-extension',
sessionTTL: 180,
extensionIds: 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 ページにアクセスすることで確認できます。
結果は以下のようになります:
