Browser特徴ブラウザ拡張機能

ブラウザ拡張機能

カスタマイズされたブラウザ拡張機能を使用して、Scrapeless でブラウジング エクスペリエンスとセッションを強化します。

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'; // APIキーを置き換えてください
const EXTENSION_FILE_PATH = '/extensions/metamask-chrome-12.20.0.zip'; // 拡張機能のzipファイルパスを置き換えてください
 
const client = new Scrapeless({ apiKey: API_TOKEN });
const { browser: scrapingBrowser } = client;
 
(async () => {
    try {
        const uploadResponse = await scrapingBrowser.extension.upload(EXTENSION_FILE_PATH, 'metamask'); // 拡張機能名
        const extensionId = uploadResponse?.extensionId;
    
        const { browserWSEndpoint } = scrapingBrowser.create({
            session_name: 'use-extension',
            session_ttl: 180,
            extension_ids: extensionId, // ブラウザ拡張機能を設定します。複数の拡張機能の場合はコンマで区切ります
        });
        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 ページにアクセスして、拡張機能が正常にロードされたかどうかを確認できます。

結果は以下のようになります。

example