View a markdown version of this page

Menggunakan AgentCore Browser dengan Playwriter - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan AgentCore Browser dengan Playwriter

Anda dapat menggunakan kerangka otomatisasi Playwright dengan Browser Tool:

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) untuk membuat, mengkonfigurasi, dan mengelola layanan AWS

  • nest-asyncio: Memungkinkan menjalankan loop peristiwa asyncio dalam loop acara 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 asinkron

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 harus 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

  • Sambungkan ke browser Chrome jarak jauh menggunakan DevTools Protokol Chrome Playwright (CDP)

  • Arahkan ke AgentCore dokumentasi dan cetak judul halaman

  • Jaga sesi tetap hidup selama 2 menit, memungkinkan Anda melihatnya di Kon AWS sol

  • Tutup browser dengan benar dan bersihkan sumber daya