Agent Platform Computer Use 沙盒提供了一个安全、隔离的浏览器环境,您的智能体可以在其中进行交互。借助这些沙盒,智能体可以自动执行模仿人类交互的任务(例如点击、浏览网站和截取屏幕截图)。
工作原理
当您创建 Computer Use 沙盒时,Gemini Enterprise Agent Platform 会预配一个运行 Web 浏览器智能体的容器化环境。您可以通过以下两种方式控制浏览器:
- API 请求:向沙盒发送命令,以执行 浏览网址、点击元素或输入文本等操作。
- 浏览器控制:使用标准 Chrome DevTools 协议 (CDP) 连接连接到浏览器,让您可以使用浏览器自动化 工具(例如 Playwright)来自动执行浏览器操作。
使用 API 控制浏览器
您可以向沙盒发送 API 请求,以执行常见的浏览器操作。沙盒会在其隔离的环境中处理这些操作的执行。
支持的操作包括:
- 浏览网址。
- 点击特定坐标。
- 在字段中输入文本。
- 截取屏幕截图。
如需查看如何发送命令的示例,请参阅 Computer Use 快速入门。
使用 CDP 连接控制浏览器
如需进行更高级的自动化,您可以通过 Chrome DevTools 协议 (CDP) 连接连接到沙盒浏览器。借助此方法,您可以使用标准浏览器自动化工具(例如 Playwright)与网页进行交互。
如需将 Playwright 连接到沙盒,请执行以下操作:
使用 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, )使用 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 连接到沙盒。