View a markdown version of this page

Menggunakan AgentCore Browser dengan Playwright - Batuan Dasar Amazon AgentCore

Menggunakan AgentCore Browser dengan Playwright

Anda dapat menggunakan kerangka kerja otomatisasi Playwright dengan Alat Browser:

Langkah 1: Instal dependensi

Buat folder proyek (jika Anda tidak membuatnya sebelumnya) dan instal paket yang diperlukan:

mkdir agentcore-browser-quickstart cd agentcore-browser-quickstart python3 -m venv .venv source .venv/bin/activate
catatan

Di Windows, gunakan: .venv\Scripts\activate

Instal paket yang diperlukan:

pip install bedrock-agentcore playwright boto3 nest-asyncio

Paket-paket ini menyediakan:

  • bedrock-agentcore: SDK untuk AgentCore alat Amazon Bedrock termasuk Browser AgentCore

  • playwright: Pustaka Python untuk otomatisasi browser

  • boto3: AWS SDK untuk Python (Boto3) SDK for Python (Boto3) untuk membuat, mengkonfigurasi, dan mengelola layanan AWS

  • nest-asyncio: Mengizinkan menjalankan loop peristiwa asyncio dalam loop peristiwa yang ada

Langkah 2: Kontrol browser dengan Playwright

Anda dapat menggunakan Browser secara langsung tanpa kerangka agen atau LLM. Ini berguna ketika Anda ingin kontrol terprogram atas otomatisasi browser. Amazon Bedrock AgentCore menyediakan integrasi dengan Playwright untuk otomatisasi browser.

Contoh Penulis Naskah Async

Buat file bernama direct_browser_playwright.py dan tambahkan kode berikut:

from playwright.async_api import async_playwright, Playwright, BrowserType from bedrock_agentcore.tools.browser_client import browser_session import asyncio async def run(playwright: Playwright): # Create and maintain a browser session with browser_session('us-west-2') as client: # Get WebSocket URL and authentication headers ws_url, headers = client.generate_ws_headers() # Connect to the remote browser chromium: BrowserType = playwright.chromium browser = await chromium.connect_over_cdp( ws_url, headers=headers ) # Get the browser context and page context = browser.contexts[0] page = context.pages[0] try: # Navigate to a website await page.goto("https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html") # Print the page title title = await page.title() print(f"Page title: {title}") # Keep the session alive for 2 minutes to allow viewing print("\n\nBrowser session is active. Check the AWS Console for live view.") await asyncio.sleep(120) finally: # Clean up resources await page.close() await browser.close() async def main(): async with async_playwright() as playwright: await run(playwright) # Run the async function if __name__ == "__main__": asyncio.run(main())

Sinkronkan contoh Playwright dengan tampilan langsung

Atau, Anda dapat menggunakan API sinkronisasi dengan server tampilan langsung terintegrasi:

from playwright.sync_api import sync_playwright, Playwright, BrowserType from bedrock_agentcore.tools.browser_client import browser_session from browser_viewer import BrowserViewerServer import time def run(playwright: Playwright): # Create the browser session and keep it alive with browser_session('us-west-2') as client: ws_url, headers = client.generate_ws_headers() # Start viewer server viewer = BrowserViewerServer(client, port=8005) viewer_url = viewer.start(open_browser=True) # Connect using headers chromium: BrowserType = playwright.chromium browser = chromium.connect_over_cdp( ws_url, headers=headers ) context = browser.contexts[0] page = context.pages[0] try: page.goto("https://amazon.com/") print(page.title()) time.sleep(120) finally: page.close() browser.close() with sync_playwright() as playwright: run(playwright)

Jalankan skrip

Jalankan salah satu skrip:

python direct_browser_playwright.py

Output yang diharapkan

Anda akan melihat judul halaman dicetak (misalnya,Page title: What is Amazon Bedrock AgentCore? - Amazon Bedrock AgentCore). Skrip membuat sesi browser tetap aktif selama 2 menit sebelum ditutup.

Kedua contoh:

  • Buat sesi browser terkelola menggunakan Amazon Bedrock AgentCore Browser

  • Connect ke browser Chrome jarak jauh menggunakan Chrome DevTools Protocol (CDP) Playwright

  • Arahkan ke AgentCore dokumentasi dan cetak judul halaman

  • Biarkan sesi tetap hidup selama 2 menit, memungkinkan Anda untuk melihatnya di AWS Konsol

  • Tutup browser dengan benar dan bersihkan sumber daya