電腦使用

Agent Platform Computer Use 沙箱提供安全、隔離的瀏覽器環境,可讓代理與之互動。這些沙箱可讓代理自動執行模擬人類互動的工作,例如點擊、瀏覽網站和擷取螢幕截圖。

運作方式

建立電腦使用沙箱時,Gemini Enterprise Agent Platform 會佈建容器化環境,用於執行網路瀏覽器代理。你可以透過下列兩種方式控制瀏覽器:

  • API 要求:傳送指令至沙箱,執行前往網址、點選元素或輸入文字等動作。
  • 瀏覽器控制:使用標準 Chrome 開發人員工具通訊協定 (CDP) 連線連至瀏覽器,以便使用瀏覽器自動化工具 (例如 Playwright) 自動執行瀏覽器。

使用 API 控制瀏覽器

您可以傳送 API 要求至沙箱,執行常見的瀏覽器動作。沙箱會在隔離環境中處理這些動作的執行作業。

支援的動作包括:

  • 前往網址。
  • 點選特定座標。
  • 在欄位中輸入文字。
  • 擷取螢幕截圖。

如需傳送指令的範例,請參閱電腦使用快速入門導覽課程。

使用 CDP 連線控制瀏覽器

如需更進階的自動化功能,可以透過 Chrome 開發人員工具通訊協定 (CDP) 連線,連線至沙箱瀏覽器。這種方法可讓您使用 Playwright 等標準瀏覽器自動化工具,與網頁互動。

如要將 Playwright 連線至沙箱,請按照下列步驟操作:

  1. 使用 Python SDK generate_browser_ws_headers 方法,為沙箱生成 WebSocket 網址和必要標頭。

      service_account_email = "SERVICE_ACCOUNT_EMAIL"
      ws_url, ws_headers = client.agent_engines.sandboxes.generate_browser_ws_headers(
          sandbox_environment=sandbox,
          service_account_email=service_account_email,
      )
    
  2. 使用 Playwright 的 connect_over_cdp 方法建立連線。

    使用產生的 WebSocket 網址和標頭,透過 Playwright 透過 CDP 連線:

      import asyncio
      from playwright.async_api import async_playwright
      import nest_asyncio
      nest_asyncio.apply()
    
      async def connect_over_cdp(ws_url, ws_headers):
          async with async_playwright() as p:
              try:
                  browser = await p.chromium.connect_over_cdp(
                      endpoint_url=ws_url,
                      headers=ws_headers
                  )
                  print("Successfully connected to browser over CDP.")
    
                  # You can now interact with the browser
                  page = browser.contexts[0].pages[0]
                  await page.goto("https://www.example.com")
                  print(f"Page title: {await page.title()}")
    
                  await browser.close()
                  print("Browser connection closed.")
              except Exception as e:
                  print(f"An error occurred: {e}")
    
      # Run CDP connection
      asyncio.run(connect_over_cdp(ws_url, ws_headers))
    

直播觀看

Computer Use 沙箱支援直播檢視畫面 (VNC),可讓您即時監控代理的動作。您可以偵錯及觀察代理的行為。

舉例來說,您可以使用 noVNC,透過 WebSocket 連線至沙箱。

後續步驟