

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Nova Act AgentCore 中使用浏览器
<a name="browser-quickstart-nova-act"></a>

你可以使用 Nova Act 构建浏览器代理来自动进行网络交互：

 **第 1 步：安装依赖项 ** 

创建项目文件夹（如果还没有）：

```
mkdir agentcore-browser-quickstart
cd agentcore-browser-quickstart
python3 -m venv .venv
source .venv/bin/activate
```

**注意**  
在 Windows 上，使用：`.venv\Scripts\activate`

安装所需的软件包：

```
pip install bedrock-agentcore nova-act rich boto3
```

这些软件包提供：
+  `bedrock-agentcore`: 适用于亚马逊 Bedrock AgentCore 工具的软件开发工具包，包括浏览 AgentCore 器
+  `nova-act`: Nova Act 的 SDK，其中包括用于浏览器自动化的模型和协调器
+  `rich`: 终端中富文本和精美格式的库
+  `boto3`: 用于创建、配置和管理服务的 Python Amazon SDK (Boto3) Amazon 

 **第 2 步：获取 Nova Act API 密钥 ** 

导航到 [ Nova Act ](https://nova.amazon.com/act) 页面，使用您的亚马逊凭证生成 API 密钥。（请注意，这目前仅适用于美国的亚马逊账户）

创建一个名为的文件`nova_act_browser_agent.py`并添加以下代码：

 **使用 Nova Act 编写浏览器代理 ** 

以下 Python 代码显示了如何使用 Nova Act 编写浏览器代理。有关获取 Nova Act 的 API 密钥的信息，请参阅[亚马逊 Nova Act 文档](https://nova.amazon.com/act)。

```
from bedrock_agentcore.tools.browser_client import browser_session
from nova_act import NovaAct
from rich.console import Console
import argparse
import json
import boto3

console = Console()

from boto3.session import Session

boto_session = Session()
region = boto_session.region_name
print("using region", region)

def browser_with_nova_act(prompt, starting_page, nova_act_key, region="us-west-2"):
    result = None
    with browser_session(region) as client:
        ws_url, headers = client.generate_ws_headers()
        try:
            with NovaAct(
                cdp_endpoint_url=ws_url,
                cdp_headers=headers,
                nova_act_api_key=nova_act_key,
                starting_page=starting_page,
            ) as nova_act:
                result = nova_act.act(prompt)
        except Exception as e:
            console.print(f"NovaAct error: {e}")
        finally:
            return result

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--prompt", required=True, help="Browser Search instruction")
    parser.add_argument("--starting-page", required=True, help="Starting URL")
    parser.add_argument("--nova-act-key", required=True, help="Nova Act API key")
    parser.add_argument("--region", default="us-west-2", help="AWS region")
    args = parser.parse_args()

    result = browser_with_nova_act(
        args.prompt, args.starting_page, args.nova_act_key, args.region
    )
    console.print(f"\n[cyan] Response[/cyan] {result.response}")
    console.print(f"\n[bold green]Nova Act Result:[/bold green] {result}")
```

 **步骤 3：运行代理 ** 

执行脚本（在命令中替换为你的 Nova Act API 密钥）：

```
python nova_act_browser_agent.py --prompt "What are the common usecases of Bedrock AgentCore?" --starting-page "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html" --nova-act-key "your-nova-act-API-key"
```

 **预期产出 ** 

您应该看到代理的回复，其中包含亚马逊 Bedrock 常见用例的详细信息。 AgentCore代理浏览网站，执行搜索并提取所需信息。

如果遇到错误，请验证：
+ 您的 IAM role/user 拥有正确的权限
+ 你的 Nova Act API 密钥是正确的
+ 您的 Amazon 证书配置正确

 **第 4 步：实时查看浏览器会话 ** 

在浏览器脚本运行时，您可以通过 Amazon 控制台实时查看会话：

1. 打开[亚马逊 Bedrock AgentCore 浏览器控制台 ](https://us-west-2.console.aws.amazon.com/bedrock-agentcore/builtInTools) 

1. 导航到左侧导航栏**中的**Built-in 工具

1. 选择浏览器工具（例如`AgentCore Browser Tool`，或您的自定义浏览器）

1. 在**浏览器会话**部分中，找到状态为 “**就绪” 的活动会话 ** 

1. 在 “**实时预览/录制” ** 列中，单击提供的 “查看实时会话” 网址

1. 实时视图将在新的浏览器窗口中打开，显示实时浏览器会话

实时预览界面提供：
+ Real-time 浏览器会话的视频流
+ 交互式控件可接管自动化或从自动化中释放控制权
+ 能够终止会话