View a markdown version of this page

Gestione delle sessioni del browser - Fondamento Amazon AgentCore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione delle sessioni del browser

Avvio di una sessione del browser

Dopo aver creato un browser, è possibile avviare una sessione per interagire con le applicazioni Web.

Esempio
AWS CLI
  1. Per avviare una sessione del browser utilizzando la AWS CLI, utilizzate il start-browser-session comando:

    aws 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
  1. Per avviare una sessione del browser utilizzando l' AWS SDK per Python (Boto3), utilizzate il metodo: start_browser_session

    Sintassi della richiesta

    Quanto segue mostra la sintassi della richiesta:

    response = dp_client.start_browser_session( browserIdentifier="aws.browser.v1", name="browser-session-1", sessionTimeoutSeconds=3600, viewPort={ 'height': 819, 'width': 1456 } )
BrowserClient
  1. Per avviare una sessione del browser utilizzando la BrowserClient classe per un maggiore controllo sul ciclo di vita della sessione:

    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
  1. Per creare una nuova sessione del browser utilizzando l'API, usa la seguente chiamata:

    # 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 } }'

Ottieni una sessione del browser

Puoi ottenere informazioni su una sessione del browser che hai creato.

Esempio
AWS CLI
  1. Per ottenere informazioni su una sessione del browser utilizzando la AWS CLI, utilizzate il get-browser-session comando:

    aws bedrock-agentcore get-browser-session \ --region <Region> \ --browser-identifier "aws.browser.v1" \ --session-id "<your-session-id>"
Boto3
  1. Per ottenere informazioni su una sessione del browser utilizzando l' AWS SDK per Python (Boto3), usa il metodo: get_browser_session

    Sintassi della richiesta

    Quanto segue mostra la sintassi della richiesta:

    response = dp_client.get_browser_session( browserIdentifier="aws.browser.v1", sessionId="<your-session-id>" )
API
  1. Per ottenere informazioni su una sessione del browser utilizzando l'API, usa la seguente chiamata:

    # 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 } }

Interazione con una sessione del browser

Una volta avviata una sessione del browser, puoi interagire con essa utilizzando l' WebSocket API. Puoi anche utilizzare l' InvokeBrowser API per il controllo diretto a livello di sistema operativo, inclusi clic del mouse, input da tastiera e schermate a schermo intero. Per ulteriori informazioni, consulta Azione del sistema operativo del browser.

Esempio
Console
  1. ====== Per interagire con una sessione del browser utilizzando la console

  2. Passa alla sessione attiva del browser.

  3. Utilizza l'interfaccia del browser per navigare nei siti Web, interagire con gli elementi Web ed eseguire altre azioni del browser.

  4. È possibile visualizzare l'attività del browser in tempo reale tramite la funzione di visualizzazione live.

SDK
  1. Per interagire con una sessione del browser a livello di programmazione, utilizza l'API di WebSocket-based streaming con il seguente formato URL:

    https://bedrock-agentcore.<Region>.amazonaws.com/browser-streams/{browser_id}/sessions/{session_id}/automation

    Puoi utilizzare librerie come Playwright per stabilire una connessione WebSocket e controllare il browser. Ecco un esempio:

    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)

    Il codice di esempio seguente mostra come è possibile eseguire la visualizzazione dal vivo utilizzando l'API di WebSocket-based streaming.

    https://bedrock-agentcore.<Region>.amazonaws.com/browser-streams/{browser_id}/sessions/{session_id}/live-view

    Di seguito è riportato il codice.

    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()

Elenco delle sessioni del browser

Puoi elencare tutte le sessioni attive del browser per monitorare e gestire le tue risorse. Ciò è utile per tenere traccia delle sessioni attive, identificare le sessioni di lunga durata o trovare le sessioni che devono essere interrotte.

Esempio
AWS CLI
  1. Per elencare le sessioni del browser utilizzando la AWS CLI, usa il list-browser-sessions comando:

    aws bedrock-agentcore list-browser-sessions \ --region <Region> \ --browser-id "<your-browser-id>" \ --max-results 10

    Puoi anche filtrare le sessioni in base allo stato:

    aws bedrock-agentcore list-browser-sessions \ --region <Region> \ --browser-id "<your-browser-id>" \ --status "READY"
Boto3
  1. Per elencare le sessioni del browser utilizzando l' AWS SDK per Python (Boto3), usa il metodo: list_browser_sessions

    Sintassi della richiesta

    Quanto segue mostra la sintassi della richiesta:

    response = dp_client.list_browser_sessions( browserIdentifier="aws.browser.v1" )

    Puoi anche filtrare le sessioni in base allo stato:

    # 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
  1. Per elencare le sessioni del browser utilizzando l'API, usa la seguente chiamata:

    # 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 }'

    Puoi anche filtrare le sessioni in base allo stato:

    # 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" }'

Interruzione di una sessione del browser

Una volta terminata l'utilizzo di una sessione del browser, è necessario interromperla per liberare risorse ed evitare costi inutili.

Esempio
AWS CLI
  1. Per interrompere una sessione del browser utilizzando la AWS CLI, utilizzate il stop-browser-session comando:

    aws bedrock-agentcore stop-browser-session \ --region <Region> \ --browser-id "<your-browser-id>" \ --session-id "<your-session-id>"
Boto3
  1. Per interrompere una sessione del browser utilizzando l' AWS SDK per Python (Boto3), usa il metodo: stop_browser_session

    Sintassi della richiesta

    Quanto segue mostra la sintassi della richiesta:

    response = dp_client.stop_browser_session( browserIdentifier="aws.browser.v1", sessionId="<your-session-id>", )
API
  1. Per interrompere una sessione del browser utilizzando l'API, utilizzate la seguente chiamata:

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

Aggiornamento degli stream del browser

Puoi aggiornare i flussi del browser per abilitare o disabilitare l'automazione. Ciò è utile quando devi inserire informazioni sensibili come le credenziali di accesso che non vuoi che l'agente veda.

Esempio
Boto3
  1. response = dp_client.update_browser_stream( browserIdentifier="aws.browser.v1", sessionId="<your-session-id>", streamUpdate={ "automationStreamUpdate": { "streamStatus": "DISABLED" # or "ENABLED" } } )
API
  1. 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
  1. aws bedrock-agentcore update-browser-stream \ --region <Region> \ --browser-id "<your-browser-id>" \ --session-id "<your-session-id>" \ --stream-update automationStreamUpdate={streamStatus=ENABLED}