Mengelola Sesi Browser
Memulai sesi browser
Setelah membuat browser, Anda dapat memulai sesi untuk berinteraksi dengan aplikasi web.
contoh
- AWS CLI
-
-
Untuk memulai sesi Browser menggunakan AWS CLI, gunakan perintah:
start-browser-sessionaws bedrock-agentcore start-browser-session \ --region <Region> \ --browser-identifier "my-browser" \ --name "my-browser-session" \ --session-timeout-seconds 900 \ --view-port width=1456,height=819
-
- Boto3
-
-
Untuk memulai sesi Browser menggunakan AWS SDK for Python (Boto3), gunakan metode:
start_browser_sessionPermintaan Sintaks
Berikut ini menunjukkan sintaks permintaan:
response = dp_client.start_browser_session( browserIdentifier="aws.browser.v1", name="browser-session-1", sessionTimeoutSeconds=3600, viewPort={ 'height': 819, 'width': 1456 } )
-
- BrowserClient
-
-
Untuk memulai sesi browser menggunakan BrowserClient kelas untuk kontrol lebih lanjut atas siklus hidup sesi:
from bedrock_agentcore.tools.browser_client import BrowserClient # Create a browser client client = BrowserClient(region="us-west-2") # Start a browser session client.start() print(f"Session ID: {client.session_id}") try: # Generate WebSocket URL and headers url, headers = client.generate_ws_headers() # Perform browser operations with your preferred automation tool finally: # Always close the session when done client.stop()
-
- API
-
-
Untuk membuat sesi browser baru menggunakan API, gunakan panggilan berikut:
# Using awscurl awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/start" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "name": "browser-session-abc12345", "description": "browser sandbox session", "sessionTimeoutSeconds": 300, "viewPort": { "height": 819, "width": 1456 } }'
-
Dapatkan sesi Browser
Anda bisa mendapatkan informasi tentang sesi browser yang telah Anda buat.
contoh
- AWS CLI
-
-
Untuk mendapatkan informasi tentang sesi browser menggunakan AWS CLI, gunakan perintah:
get-browser-sessionaws bedrock-agentcore get-browser-session \ --region <Region> \ --browser-identifier "aws.browser.v1" \ --session-id "<your-session-id>"
-
- Boto3
-
-
Untuk mendapatkan informasi tentang sesi browser menggunakan AWS SDK for Python (Boto3), gunakan metode:
get_browser_sessionPermintaan Sintaks
Berikut ini menunjukkan sintaks permintaan:
response = dp_client.get_browser_session( browserIdentifier="aws.browser.v1", sessionId="<your-session-id>" )
-
- API
-
-
Untuk mendapatkan informasi tentang sesi browser menggunakan API, gunakan panggilan berikut:
# Using awscurl awscurl -X GET \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/get?sessionId=<your-session-id>" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> { "browserIdentifier": "aws.browser.v1", "createdAt": "2025-07-14T22:16:40.713152248Z", "lastUpdatedAt": "2025-07-14T22:16:40.713152248Z", "name": "testBrowserSession1752531400", "sessionId": "<your-session-id>", "sessionReplayArtifact": null, "sessionTimeoutSeconds": 900, "status": "TERMINATED", "streams": { "automationStream": { "streamEndpoint": "wss://bedrock-agentcore.<Region>.amazonaws.com/browser-streams/aws.browser.v1/sessions/<your-session-id>/automation", "streamStatus": "ENABLED" }, "liveViewStream": { "streamEndpoint": "https://bedrock-agentcore.<Region>.amazonaws.com/browser-streams/aws.browser.v1/sessions/<your-session-id>/live-view" } }, "viewPort": { "height": 819, "width": 1456 } }
-
Berinteraksi dengan sesi browser
Setelah Anda memulai sesi Browser, Anda dapat berinteraksi dengannya menggunakan WebSocket API. Anda juga dapat menggunakan InvokeBrowser API untuk kontrol tingkat sistem operasi langsung, termasuk klik mouse, input keyboard, dan tangkapan layar layar penuh. Untuk informasi selengkapnya, lihat Tindakan OS Browser.
contoh
- Console
-
-
====== Untuk berinteraksi dengan sesi Browser menggunakan konsol
-
Arahkan ke sesi Browser aktif Anda.
-
Gunakan antarmuka browser untuk menavigasi ke situs web, berinteraksi dengan elemen web, dan melakukan tindakan browser lainnya.
-
Anda dapat melihat aktivitas browser secara real-time melalui fitur live view.
-
- SDK
-
-
Untuk berinteraksi dengan sesi Browser secara terprogram, gunakan API WebSocket-based streaming dengan format URL berikut:
https://bedrock-agentcore.<Region>.amazonaws.com/browser-streams/{browser_id}/sessions/{session_id}/automationAnda dapat menggunakan pustaka seperti Playwright untuk membuat koneksi dengan WebSocket dan mengontrol browser. Berikut ini contohnya:
from playwright.sync_api import sync_playwright, Playwright, BrowserType import os import base64 from bedrock_agentcore.tools.browser_client import browser_session def main(playwright: Playwright): # Keep browser session alive during usage with browser_session('us-west-2') as client: # Generate CDP endpoint and headers ws_url, headers = client.generate_ws_headers() # Connect to browser using headers chromium: BrowserType = playwright.chromium browser = chromium.connect_over_cdp(ws_url, headers=headers) # Use the first available context or create one context = browser.contexts[0] if browser.contexts else browser.new_context() page = context.pages[0] if context.pages else context.new_page() page.goto("https://amazon.com/") print("Navigated to Amazon") # Create CDP session for screenshot cdp_client = context.new_cdp_session(page) screenshot_data = cdp_client.send("Page.captureScreenshot", { "format": "jpeg", "quality": 80, "captureBeyondViewport": True }) # Decode and save screenshot image_data = base64.b64decode(screenshot_data['data']) with open("screenshot.jpeg", "wb") as f: f.write(image_data) print("✅ Screenshot saved as screenshot.jpeg") page.close() browser.close() with sync_playwright() as p: main(p)Contoh kode berikut menunjukkan bagaimana Anda dapat melakukan live view menggunakan API WebSocket-based streaming.
https://bedrock-agentcore.<Region>.amazonaws.com/browser-streams/{browser_id}/sessions/{session_id}/live-viewDi bawah ini adalah kodenya.
import time from rich.console import Console from bedrock_agentcore.tools.browser_client import browser_session from browser_viewer import BrowserViewerServer console = Console() def main(): try: # Step 1: Create browser session with browser_session('us-west-2') as client: print("\r ✅ Browser ready! ") ws_url, headers = client.generate_ws_headers() # Step 2: Start viewer server console.print("\n[cyan]Step 3: Starting viewer server...[/cyan]") viewer = BrowserViewerServer(client, port=8005) viewer_url = viewer.start(open_browser=True) # Keep running while True: time.sleep(1) except KeyboardInterrupt: console.print("\n\n[yellow]Shutting down...[/yellow]") if 'client' in locals(): client.stop() console.print("✅ Browser session terminated") except Exception as e: console.print(f"\n[red]Error: {e}[/red]") import traceback traceback.print_exc() if __name__ == "__main__": main()
-
Daftar sesi browser
Anda dapat membuat daftar semua sesi browser aktif untuk memantau dan mengelola sumber daya Anda. Ini berguna untuk melacak sesi aktif, mengidentifikasi sesi yang berjalan lama, atau menemukan sesi yang perlu dihentikan.
contoh
- AWS CLI
-
-
Untuk membuat daftar sesi Browser menggunakan AWS CLI, gunakan perintah:
list-browser-sessionsaws bedrock-agentcore list-browser-sessions \ --region <Region> \ --browser-id "<your-browser-id>" \ --max-results 10Anda juga dapat memfilter sesi berdasarkan status:
aws bedrock-agentcore list-browser-sessions \ --region <Region> \ --browser-id "<your-browser-id>" \ --status "READY"
-
- Boto3
-
-
Untuk membuat daftar sesi Browser menggunakan AWS SDK for Python (Boto3), gunakan metode:
list_browser_sessionsPermintaan Sintaks
Berikut ini menunjukkan sintaks permintaan:
response = dp_client.list_browser_sessions( browserIdentifier="aws.browser.v1" )Anda juga dapat memfilter sesi berdasarkan status:
# List only active sessions filtered_response = dp_client.list_browser_sessions( browserIdentifier="aws.browser.v1", status="READY" ) # Print filtered session information for session in filtered_response['items']: print(f"Ready Session ID: {session['sessionId']}") print(f"Name: {session['name']}") print("---")
-
- API
-
-
Untuk membuat daftar sesi browser menggunakan API, gunakan panggilan berikut:
# Using awscurl awscurl -X POST \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/<your-browser-id>/sessions/list" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "maxResults": 10 }'Anda juga dapat memfilter sesi berdasarkan status:
# Using awscurl awscurl -X POST \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/list" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "maxResults": 10, "status": "READY" }'
-
Menghentikan sesi browser
Ketika Anda selesai menggunakan sesi Browser, Anda harus menghentikannya untuk melepaskan sumber daya dan menghindari biaya yang tidak perlu.
contoh
- AWS CLI
-
-
Untuk menghentikan sesi Browser menggunakan AWS CLI, gunakan perintah:
stop-browser-sessionaws bedrock-agentcore stop-browser-session \ --region <Region> \ --browser-id "<your-browser-id>" \ --session-id "<your-session-id>"
-
- Boto3
-
-
Untuk menghentikan sesi Browser menggunakan AWS SDK for Python (Boto3), gunakan metode:
stop_browser_sessionPermintaan Sintaks
Berikut ini menunjukkan sintaks permintaan:
response = dp_client.stop_browser_session( browserIdentifier="aws.browser.v1", sessionId="<your-session-id>", )
-
- API
-
-
Untuk menghentikan sesi browser menggunakan API, gunakan panggilan berikut:
# Using awscurl awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/stop?sessionId=<your-session-id>" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region>
-
Memperbarui aliran browser
Anda dapat memperbarui aliran browser untuk mengaktifkan atau menonaktifkan otomatisasi. Ini berguna ketika Anda perlu memasukkan informasi sensitif seperti kredensi login yang Anda tidak ingin agen untuk melihat.
contoh
- Boto3
-
-
response = dp_client.update_browser_stream( browserIdentifier="aws.browser.v1", sessionId="<your-session-id>", streamUpdate={ "automationStreamUpdate": { "streamStatus": "DISABLED" # or "ENABLED" } } )
-
- API
-
-
awscurl -X PUT \ "https://bedrock-agentcore.<Region>.amazonaws.com/browsers/aws.browser.v1/sessions/streams/update?sessionId=<your-session-id>" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ --service bedrock-agentcore \ --region <Region> \ -d '{ "streamUpdate": { "automationStreamUpdate": { "streamStatus": "ENABLED" } } }'
-
- CLI
-
-
aws bedrock-agentcore update-browser-stream \ --region <Region> \ --browser-id "<your-browser-id>" \ --session-id "<your-session-id>" \ --stream-update automationStreamUpdate={streamStatus=ENABLED}
-