启动浏览器会话
浏览器会话(Session)是浏览器沙箱中执行自动化任务的基本单元,每个会话相互隔离。本章介绍如何通过SDK启动浏览器会话。
在启动一个新的浏览器会话时,您可以指定加载某个已存在的配置文件,使会话在创建后立即恢复至该配置文件保存的状态。加载的配置文件包括 Cookie、LocalStorage、SessionStorage、登录凭证等浏览器状态数据,使 Agent 无需每次会话都重新登录目标网站。
约束与限制
- 会话默认空闲超时900秒,超过该时间无操作将自动终止。
- 会话最大持续时间为24小时。
- 单次invoke请求体上限为10 MB。
- 一个会话创建时只能加载一个配置文件ID;多会话可共用同一配置文件但相互隔离。
- 域名访问限制
创建会话时,您可以配置域名访问白名单和黑名单,限制浏览器会话可访问的网络范围,满足租户合规与防越权要求。
- 白名单(allowed_domains):仅允许访问白名单中的域名,其余域名一律拦截。
- 黑名单(blocked_domains):禁止访问黑名单中的域名,其余域名正常放行。
示例:租户希望Agent只能访问内部知识库 *.tenant.com,同时禁止访问广告和社交平台,可将 *.tenant.com 加入白名单,将广告和社交平台等加入黑名单。
白名单和黑名单可单独使用,也可组合使用。当同时配置时,请求需同时满足“在白名单中”且“不在黑名单中”才允许访问。
前提条件
在会话中加载配置文件时,已创建至少一个浏览器配置文件(Profile),具体请参见新建配置文件。
启动会话
- 确保已安装agentarts-sdk包,且Python版本不低于3.10。
- 配置环境变量 AGENTARTS_BROWSER_DATA_ENDPOINT,值为 http://{浏览器沙箱域名}。 浏览器域名获取如下:
- 单击浏览器名称。
- 进入“配置信息”页面后,获取域名。 图1 获取沙箱域名
- 使用 browser_session 上下文管理器启动会话,会话在代码块执行完毕后自动终止。
获取API_KEY请参考如何获取浏览器的API_KEY。
获取配置文件ID请参考如何获取浏览器配置文件的ID。
API_KEY认证代码示例如下:
from agentarts.sdk.tools import Browser # 创建浏览器客户端 client = Browser(region="cn-southwest-2", auth_type="API_KEY", verify_ssl=False) # 启动会话并加载配置文件 client.start_session( browser_name="your_browser_name", session_name="your_session_name", api_key="your_api_key", profile_configuration={"profile_id": "your_profile_id"} )IAM认证代码示例如下:
from agentarts.sdk.tools import Browser # 创建浏览器客户端(使用IAM认证) client = Browser(region="cn-southwest-2", auth_type="IAM", verify_ssl=False) # 启动会话并加载配置文件 client.start_session( browser_name="your_browser_name", session_name="your_session_name", profile_configuration={"profile_id": "your_profile_id"} )
会话状态说明
| 状态 | 说明 |
|---|---|
| 运行中 | 会话正在执行自动化任务,可查看实时画面、可终止。 |
| 已终止 | 会话已结束,实时画面与终止操作均不可用。 |