Automatización de tareas del explorador con la herramienta Automatización del explorador (versión preliminar)

Importante

Los elementos marcados (versión preliminar) de este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se proporciona sin un contrato de nivel de servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no se admitan o que tengan funcionalidades restringidas. Para obtener más información, vea Supplemental Terms of Use for Microsoft Azure Previews.

En este artículo se explica cómo configurar y usar la herramienta Automatización del explorador con agentes foundry para automatizar los flujos de trabajo de exploración web.

Advertencia

La herramienta De automatización del explorador incluye riesgos de seguridad significativos. Ambos errores de juicio de la inteligencia artificial y la presencia de instrucciones malintencionadas o confusas en las páginas web que encuentra pueden provocar que ejecute los comandos que usted u otros no pretenden. Estas acciones pueden poner en peligro la seguridad de los exploradores, equipos y cuentas de los usuarios u otros usuarios a las que el explorador o la inteligencia artificial tienen acceso, incluidos los sistemas personales, financieros o empresariales. Al usar la herramienta de automatización del navegador, usted reconoce que asume responsabilidad y obligaciones por cualquier uso de esta y de los agentes resultantes que cree con esta. Esta responsabilidad se extiende a cualquier otro usuario al que ponga la funcionalidad de la herramienta de Automatización del Explorador a disposición, incluidos los agentes resultantes. Use la herramienta De automatización del explorador en máquinas virtuales con pocos privilegios sin acceso a datos confidenciales ni a recursos críticos.

Para obtener instrucciones sobre la optimización del uso de herramientas, consulte las mejores prácticas para usar herramientas en Microsoft Foundry Agent Service.

En Microsoft Foundry, la herramienta de automatización del navegador permite que el agente impulsado por modelos de Foundry realice tareas reales del navegador a través de indicaciones en lenguaje natural. Cuando se utiliza con Foundry Agent Service, se crean sesiones de navegador aisladas en el área de trabajo de Playwright aprovisionada.

Mediante Microsoft Espacios de trabajo de dramaturgo, puede automatizar flujos de trabajo basados en explorador, como buscar, navegar, rellenar formularios y reservar.

Soporte de uso

En la tabla siguiente se muestra la compatibilidad con el SDK y la configuración.

compatibilidad con Microsoft Foundry SDK de Python C# SDK JavaScript SDK SDK de Java REST API Configuración básica del agente Configuración del agente estándar
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Cómo funciona

La interacción se inicia cuando el usuario envía una consulta a un agente conectado a la herramienta De automatización del explorador. Por ejemplo, "Mostrarme todas las clases de yoga disponibles esta semana desde la siguiente dirección URL<>". Cuando el agente recibe la solicitud, Foundry Agent Service crea una sesión de explorador aislada mediante el área de trabajo de Playwright aprovisionada. Cada sesión está aislada para proteger la privacidad y la seguridad.

El explorador realiza acciones controladas por Playwright, como navegar a páginas relevantes y aplicar filtros o parámetros en función de las preferencias del usuario (como la hora, la ubicación y el instructor). Al combinar el modelo con Playwright, el modelo puede analizar HTML o XML en documentos DOM, tomar decisiones y realizar acciones como seleccionar elementos de interfaz de usuario, escribir y navegar por sitios web. Tenga cuidado al usar esta herramienta.

Un flujo de ejemplo es:

  1. Un usuario envía una solicitud al modelo que incluye una llamada a la herramienta Automatización del explorador con la dirección URL a la que desea ir.

  2. La herramienta Automatización del explorador recibe una respuesta del modelo. Si la respuesta tiene elementos de acción, esos elementos contienen acciones sugeridas para avanzar hacia el objetivo especificado. Por ejemplo, una acción podría ser una captura de pantalla para que el modelo pueda evaluar el estado actual con una captura de pantalla actualizada o hacer clic con coordenadas X/Y que indiquen dónde se debe mover el mouse.

  3. La herramienta de automatización de navegadores ejecuta la acción en un entorno aislado.

  4. Después de ejecutar la acción, la herramienta Automatización del explorador captura el estado actualizado del entorno como captura de pantalla.

  5. La herramienta envía una nueva solicitud con el estado actualizado y repite este bucle hasta que el modelo deja de solicitar acciones o el usuario decide detenerse.

    La herramienta de automatización del navegador admite conversaciones multiturno, lo que permite al usuario refinar su solicitud y completar una reserva.

Requisitos previos

Antes de comenzar, asegúrese de que tiene:

  • Una suscripción Azure. Cree uno gratis.
  • Rol Colaborador o Propietario en un grupo de recursos.
  • Un proyecto Foundry con un punto final configurado.
  • Un modelo de IA implementado en el proyecto (por ejemplo, gpt-4o).
  • Un recurso de espacio de trabajo de Playwright.
  • Una conexión de proyecto configurada para el área de trabajo de Playwright.

Requisitos del SDK

Para obtener Python ejemplos, instale los paquetes necesarios:

pip install "azure-ai-projects>=2.0.0"

El SDK de .NET está actualmente en versión preliminar. Para obtener más información, consulte el inicio rápido.

Configuración

Obtener el punto de conexión del proyecto: abra el proyecto en el portal de Foundry y copie el punto de conexión en la página de información general del proyecto. El formato es https://{account-name}.services.ai.azure.com/api/projects/{project-name}.

Formato de ID de conexión: Use /subscriptions/{{subscriptionID}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.CognitiveServices/accounts/{{foundryAccountName}}/projects/{{foundryProjectName}}/connections/{{foundryConnectionName}}. Puede encontrar este valor en la página de detalles después de conectar la herramienta de automatización del navegador.

Configuración de la Automatización del Navegador

Paso 1: Crear un área de trabajo de Playwright

  1. En el portal Azure, cree un recurso Playwright Workspace.
  2. Una vez creado el área de trabajo, vaya a Configuración>Administración de acceso.
  3. Confirme que el método de autenticación de token de acceso del servicio Playwright está habilitado.
  4. Seleccione Generar token, escriba un nombre (por ejemplo, foundry-connection) y elija un período de expiración.
  5. Copie el token inmediatamente. No se puede volver a ver después de cerrar la página.
  6. En la página Información general del área de trabajo, copie el punto de conexión del explorador (comienza por wss://).
  7. Asigne a la identidad del proyecto un rol de Colaborador en el recurso del área de trabajo Playwright, o configure un rol personalizado.

Paso 2: Conexión de la herramienta De automatización del explorador en Foundry

  1. Vaya al portal de Foundry y seleccione el proyecto.
  2. Seleccione Herramientas de compilación.
  3. Seleccione Conectar una herramienta.
  4. En la pestaña Configurado , seleccione Automatización del explorador y, a continuación, seleccione Agregar herramienta.
  5. Rellene los campos obligatorios:
    • Nombre: un nombre único para la conexión.
    • Punto de conexión de la región del área de trabajo playwright: pegue el wss:// punto de conexión que copió.
    • Token de acceso: pega el token de acceso que has generado.
  6. Seleccione Conectar.

Una vez creada la conexión, puede ver el identificador de conexión Project en la página de detalles de la herramienta. Use este valor como identificador de conexión de automatización del explorador en el código.

Ejemplo de código

Después de ejecutar una muestra, compruebe que se llamó a la herramienta mediante el rastreo en Microsoft Foundry. Para obtener instrucciones sobre cómo validar la invocación de herramientas, consulte Mejores prácticas para usar herramientas en el Servicio de Agente de Microsoft Foundry. Si usa streaming, también puede buscar browser_automation_preview_call eventos.

Nota

  • El SDK de .NET está actualmente en versión preliminar. Para obtener más información, consulte el inicio rápido.
  • Este artículo asume que ya ha creado la conexión del espacio de trabajo de Playwright. Consulte la sección de requisitos previos.

Ejemplo de uso de BrowserAutomationAgentTool con agentes

En el siguiente ejemplo de Python se muestra cómo crear un agente de IA con capacidades de automatización del navegador mediante el cliente sincrónico de Azure AI Projects. El agente puede navegar a sitios web, interactuar con elementos web y realizar tareas como buscar precios de acciones.

import json
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import (
    PromptAgentDefinition,
    BrowserAutomationPreviewTool,
    BrowserAutomationToolParameters,
    BrowserAutomationToolConnectionParameters,
)

# Format: "https://resource_name.ai.azure.com/api/projects/project_name"
PROJECT_ENDPOINT = "your_project_endpoint"
BROWSER_CONNECTION_ID = "your-browser-automation-connection-id"

# Create clients to call Foundry API
project = AIProjectClient(
    endpoint=PROJECT_ENDPOINT,
    credential=DefaultAzureCredential(),
)
openai = project.get_openai_client()

tool = BrowserAutomationPreviewTool(
    browser_automation_preview=BrowserAutomationToolParameters(
        connection=BrowserAutomationToolConnectionParameters(
            project_connection_id=BROWSER_CONNECTION_ID,
        )
    )
)

agent = project.agents.create_version(
    agent_name="MyAgent",
    definition=PromptAgentDefinition(
        model="gpt-4.1-mini",
        instructions="""You are an Agent helping with browser automation tasks. 
        You can answer questions, provide information, and assist with various tasks 
        related to web browsing using the Browser Automation tool available to you.""",
        tools=[tool],
    ),
)
print(f"Agent created (id: {agent.id}, name: {agent.name}, version: {agent.version})")

stream_response = openai.responses.create(
    stream=True,
    tool_choice="required",
    input="""
        Your goal is to report the percent of Microsoft year-to-date stock price change.
        To do that, go to the website finance.yahoo.com.
        At the top of the page, you will find a search bar.
        Enter the value 'MSFT', to get information about the Microsoft stock price.
        At the top of the resulting page you will see a default chart of Microsoft stock price.
        Click on 'YTD' at the top of that chart, and report the percent value that shows up just below it.""",
    extra_body={"agent_reference": {"name": agent.name, "type": "agent_reference"}},
)

for event in stream_response:
    if event.type == "response.created":
        print(f"Follow-up response created with ID: {event.response.id}")
    elif event.type == "response.output_text.delta":
        print(f"Delta: {event.delta}")
    elif event.type == "response.text.done":
        print(f"\nFollow-up response done!")
    elif event.type == "response.output_item.done":
        item = event.item
        if item.type == "browser_automation_preview_call":
            arguments_str = getattr(item, "arguments", "{}")

            # Parse the arguments string into a dictionary
            arguments = json.loads(arguments_str)
            query = arguments.get("query")

            print(f"Call ID: {getattr(item, 'call_id')}")
            print(f"Query arguments: {query}")
    elif event.type == "response.completed":
        print(f"\nFollow-up completed!")
        print(f"Full response: {event.response.output_text}")

print("\nCleaning up...")
project.agents.delete_version(agent_name=agent.name, agent_version=agent.version)
print("Agent deleted")

Qué hace este código

En este ejemplo se crea una versión del agente con la herramienta Automatización del explorador habilitada y, a continuación, se envía un mensaje que requiere que el agente use la herramienta. También procesa eventos de streaming para que pueda observar el progreso y las llamadas a herramientas.

Entradas necesarias

  • Un punto de conexión de proyecto Foundry y un identificador de conexión de automatización del navegador. Consulte Configuración para obtener más información.

Salida esperada

Al crear el agente, verá una salida similar a la siguiente:

Agent created (id: ..., name: ..., version: ...)

Durante el streaming, es posible que también vea deltas y detalles de la llamada a herramientas. La salida varía en función del comportamiento del modelo y el contenido del sitio web.

Ejemplo de uso de BrowserAutomationPreviewTool con agentes

Antes de ejecutar este ejemplo, complete los pasos de configuración de Configurar la Automatización del Navegador.

En el ejemplo de C# siguiente se muestra cómo crear un agente de IA con funcionalidades de Automatización del navegador mediante el cliente sincrónico de proyectos de Azure AI de BrowserAutomationPreviewTool. El agente puede navegar a sitios web, interactuar con elementos web y realizar tareas como buscar precios de acciones. En el ejemplo se usa el modelo de programación sincrónica para simplificar. Para obtener una versión asincrónica, consulte el ejemplo Ejemplo del uso de BrowserAutomationPreviewTool y Agents en el repositorio de SDK de Azure para .NET en GitHub.

using System;
using Azure.AI.Projects;
using Azure.AI.Extensions.OpenAI;
using Azure.Identity;

// Format: "https://resource_name.ai.azure.com/api/projects/project_name"
var projectEndpoint = "your_project_endpoint";
var browserConnectionId = "your-browser-automation-connection-id";

// Note that Browser automation operations can take longer than usual
// and require the request timeout to be at least 5 minutes.
AIProjectClientOptions options = new()
{
    NetworkTimeout = TimeSpan.FromMinutes(5)
};
AIProjectClient projectClient = new(endpoint: new Uri(projectEndpoint), tokenProvider: new DefaultAzureCredential(), options: options);

// Create the Browser Automation tool using the Playwright connection.
BrowserAutomationPreviewTool playwrightTool = new(
    new BrowserAutomationToolParameters(
    new BrowserAutomationToolConnectionParameters(browserConnectionId)
    ));

// Create the Agent version with the Browser Automation tool.
DeclarativeAgentDefinition agentDefinition = new(model: "gpt-4.1-mini")
{
    Instructions = "You are an Agent helping with browser automation tasks.\n" +
    "You can answer questions, provide information, and assist with various tasks\n" +
    "related to web browsing using the Browser Automation tool available to you.",
    Tools = { playwrightTool }
};
AgentVersion agentVersion = projectClient.AgentAdministrationClient.CreateAgentVersion(
    agentName: "myAgent",
    options: new(agentDefinition));

// Create the response stream. Also set ToolChoice = ResponseToolChoice.CreateRequiredChoice()
// on the ResponseCreationOptions to ensure the agent uses the Browser Automation tool.
ProjectResponsesClient responseClient = projectClient.ProjectOpenAIClient.GetProjectResponsesClientForAgent(agentVersion.Name);
CreateResponseOptions responseOptions = new()
{
    ToolChoice = ResponseToolChoice.CreateRequiredChoice(),
    StreamingEnabled = true,
    InputItems =
    {
        ResponseItem.CreateUserMessageItem("Your goal is to report the percent of Microsoft year-to-date stock price change.\n" +
            "To do that, go to the website finance.yahoo.com.\n" +
            "At the top of the page, you will find a search bar.\n" +
            "Enter the value 'MSFT', to get information about the Microsoft stock price.\n" +
            "At the top of the resulting page you will see a default chart of Microsoft stock price.\n" +
            "Click on 'YTD' at the top of that chart, and report the percent value that shows up just below it.")
    }
};
foreach (StreamingResponseUpdate update in responseClient.CreateResponseStreaming(options: responseOptions))
{
    if (update is StreamingResponseCreatedUpdate createUpdate)
    {
        Console.WriteLine($"Stream response created with ID: {createUpdate.Response.Id}");
    }
    else if (update is StreamingResponseOutputTextDeltaUpdate textDelta)
    {
        Console.WriteLine($"Delta: {textDelta.Delta}");
    }
    else if (update is StreamingResponseOutputTextDoneUpdate textDoneUpdate)
    {
        Console.WriteLine($"Response done with full message: {textDoneUpdate.Text}");
    }
    else if (update is StreamingResponseErrorUpdate errorUpdate)
    {
        throw new InvalidOperationException($"The stream has failed with the error: {errorUpdate.Message}");
    }
}

// Delete the Agent version to clean up resources.
projectClient.AgentAdministrationClient.DeleteAgentVersion(agentName: agentVersion.Name, agentVersion: agentVersion.Version);

Qué hace este código

En este ejemplo se crea una versión del agente con la herramienta Automatización del explorador habilitada, se envía un mensaje que requiere el uso de herramientas y se imprimen las actualizaciones de streaming a medida que el agente funciona a través de los pasos del explorador.

Entradas necesarias

  • Un punto de conexión de proyecto Foundry y un identificador de conexión de automatización del navegador. Consulte Configuración para obtener más información.
  • Una conexión Playwright creada en el proyecto Foundry.

Salida esperada

Verá mensajes de progreso en streaming, como deltas de texto y una respuesta completa. La salida varía en función del comportamiento del modelo y el contenido del sitio web.

Obtención de un token de acceso:

export AGENT_TOKEN=$(az account get-access-token --scope "https://ai.azure.com/.default" --query accessToken -o tsv)

En el ejemplo de cURL siguiente se muestra cómo crear un agente con la herramienta Automatización del explorador y realizar tareas de exploración web mediante la API REST.

curl --request POST \
  --url "${FOUNDRY_PROJECT_ENDPOINT}/openai/v1/responses" \
  --header "Authorization: Bearer ${AGENT_TOKEN}" \
  --header "Content-Type: application/json" \
  --header "User-Agent: insomnia/11.6.1" \
  --data @- <<JSON
{
  "model": "${FOUNDRY_MODEL_DEPLOYMENT_NAME}",
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Your goal is to report the percent of Microsoft year-to-date stock price change."
        },
        {
          "type": "input_text",
          "text": "Go to finance.yahoo.com, search for MSFT, select YTD on the chart, and report the percent value shown."
        }
      ]
    }
  ],
  "tools": [
    {
      "type": "browser_automation_preview",
      "browser_automation_preview": {
        "connection": {
          "project_connection_id": "${BROWSER_AUTOMATION_PROJECT_CONNECTION_ID}"
        }
      }
    }
  ]
}
JSON

Ejemplo de uso de la herramienta Automatización del explorador con agentes

En el ejemplo de TypeScript siguiente se muestra cómo crear un agente con la herramienta De automatización del explorador, realizar tareas de exploración web y procesar respuestas de streaming con eventos de automatización del explorador. Para obtener una versión de JavaScript de este ejemplo, consulte el ejemplo de JavaScript para la herramienta De automatización del explorador en el repositorio SDK de Azure para JavaScript en GitHub.

import { DefaultAzureCredential } from "@azure/identity";
import { AIProjectClient } from "@azure/ai-projects";

// Format: "https://resource_name.ai.azure.com/api/projects/project_name"
const PROJECT_ENDPOINT = "your_project_endpoint";
const BROWSER_CONNECTION_ID = "your-browser-automation-connection-id";

const handleBrowserCall = (item: any) => {
  // TODO: support browser_automation_preview_call schema
  const callId = item.call_id;
  const argumentsStr = item.arguments;

  // Parse the arguments string into a dictionary
  let query = null;
  if (argumentsStr && typeof argumentsStr === "string") {
    try {
      const argumentsObj = JSON.parse(argumentsStr);
      query = argumentsObj.query;
    } catch (e) {
      console.error("Failed to parse arguments:", e);
    }
  }

  console.log(`Call ID: ${callId ?? "None"}`);
  console.log(`Query arguments: ${query ?? "None"}`);
};

export async function main(): Promise<void> {
  // Create clients to call Foundry API
  const project = new AIProjectClient(PROJECT_ENDPOINT, new DefaultAzureCredential());
  const openai = project.getOpenAIClient();

  console.log("Creating agent with Browser Automation tool...");

  const agent = await project.agents.createVersion("MyAgent", {
    kind: "prompt",
    model: "gpt-4.1-mini",
    instructions: `You are an Agent helping with browser automation tasks. 
            You can answer questions, provide information, and assist with various tasks 
            related to web browsing using the Browser Automation tool available to you.`,
    // Define Browser Automation tool
    tools: [
      {
        type: "browser_automation_preview",
        browser_automation_preview: {
          connection: {
            project_connection_id: BROWSER_CONNECTION_ID,
          },
        },
      },
    ],
  });
  console.log(`Agent created (id: ${agent.id}, name: ${agent.name}, version: ${agent.version})`);

  console.log("\nSending browser automation request with streaming...");
  const streamResponse = await openai.responses.create(
    {
      input: `Your goal is to report the percent of Microsoft year-to-date stock price change.
            To do that, go to the website finance.yahoo.com.
            At the top of the page, you will find a search bar.
            Enter the value 'MSFT', to get information about the Microsoft stock price.
            At the top of the resulting page you will see a default chart of Microsoft stock price.
            Click on 'YTD' at the top of that chart, and report the percent value that shows up just below it.`,
      stream: true,
    },
    {
      body: {
        agent: { name: agent.name, type: "agent_reference" },
        tool_choice: "required",
      },
    },
  );

  // Process the streaming response
  for await (const event of streamResponse) {
    if (event.type === "response.created") {
      console.log(`Follow-up response created with ID: ${event.response.id}`);
    } else if (event.type === "response.output_text.delta") {
      process.stdout.write(event.delta);
    } else if (event.type === "response.output_text.done") {
      console.log("\n\nFollow-up response done!");
    } else if (
      event.type === "response.output_item.done" ||
      event.type === "response.output_item.added"
    ) {
      const item = event.item as any;
      if (item.type === "browser_automation_preview_call") {
        handleBrowserCall(item);
      }
    } else if (event.type === "response.completed") {
      console.log("\nFollow-up completed!");
    }
  }

  // Clean up resources by deleting the agent version
  // This prevents accumulation of unused resources in your project
  console.log("\nCleaning up resources...");
  await project.agents.deleteVersion(agent.name, agent.version);
  console.log("Agent deleted");

  console.log("\nBrowser Automation sample completed!");
}

main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

Qué hace este código

En este ejemplo se crea una versión del agente con la herramienta Automatización del explorador habilitada, se envía un mensaje que requiere el uso de herramientas y se procesan eventos de streaming, incluidos los eventos de llamada de automatización del explorador, a medida que llegan.

Entradas necesarias

  • Un punto de conexión de proyecto Foundry y un identificador de conexión de automatización del navegador. Consulte Configuración para obtener más información.

Salida esperada

Verá un mensaje de "Agente creado...", salida de texto en flujo, y opcionalmente, detalles de llamadas del navegador cuando se invoca la herramienta. La salida varía en función del comportamiento del modelo y el contenido del sitio web.

Uso de la automatización del explorador en un agente de Java

Agregue la dependencia a pom.xml:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-ai-agents</artifactId>
    <version>2.0.0</version>
</dependency>

Creación de un agente con automatización del explorador

import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
import com.azure.ai.agents.ResponsesClient;
import com.azure.ai.agents.models.*;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;

import java.util.Collections;

public class BrowserAutomationExample {
    public static void main(String[] args) {
        // Format: "https://resource_name.ai.azure.com/api/projects/project_name"
        String projectEndpoint = "your_project_endpoint";
        String browserConnectionId = "your-browser-automation-connection-id";

        AgentsClientBuilder builder = new AgentsClientBuilder()
            .credential(new DefaultAzureCredentialBuilder().build())
            .endpoint(projectEndpoint);

        AgentsClient agentsClient = builder.buildAgentsClient();
        ResponsesClient responsesClient = builder.buildResponsesClient();

        // Create browser automation tool with connection configuration
        BrowserAutomationPreviewTool browserTool = new BrowserAutomationPreviewTool(
            new BrowserAutomationToolParameters(
                new BrowserAutomationToolConnectionParameters(browserConnectionId)
            )
        );

        // Create agent with browser automation tool
        PromptAgentDefinition agentDefinition = new PromptAgentDefinition("gpt-4.1-mini")
            .setInstructions("You are a helpful assistant that can interact with web pages.")
            .setTools(Collections.singletonList(browserTool));

        AgentVersionDetails agent = agentsClient.createAgentVersion("browser-agent", agentDefinition);
        System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());

        // Create a response
        AgentReference agentReference = new AgentReference(agent.getName())
            .setVersion(agent.getVersion());

        Response response = responsesClient.createAzureResponse(
            new AzureCreateResponseOptions().setAgentReference(agentReference),
            ResponseCreateParams.builder()
                .input("Navigate to microsoft.com and summarize the main content"));

        System.out.println("Response: " + response.output());

        // Clean up
        agentsClient.deleteAgentVersion(agent.getName(), agent.getVersion());
    }
}

Limitaciones

  • Solo sitios de confianza: use esta herramienta solo con sitios de confianza. Evite páginas que pidan credenciales, pagos u otras acciones confidenciales.
  • Volatilidad de la página: las páginas web pueden cambiar en cualquier momento. Es posible que el agente falle si cambian el diseño de página, las etiquetas o los flujos de navegación. Incorpore la gestión de errores en los flujos de trabajo.
  • Aplicaciones complejas de página única: es posible que los SPA con mucha carga de JavaScript con contenido dinámico no se representen correctamente.

Consideraciones sobre los costos

Esta herramienta usa un recurso de área de trabajo de Playwright para ejecutar sesiones del explorador. Revise la documentación del área de trabajo de Playwright para conocer los precios y los detalles de uso.

Solución de problemas

El agente no usa la herramienta

  • Confirme que ha creado el agente con la herramienta Automatización del explorador habilitada.
  • En la solicitud, requiera el uso de herramientas (por ejemplo, tool_choice="required").
  • Use el seguimiento en Microsoft Foundry para confirmar si se ha producido una llamada a una herramienta. Para obtener orientación, consulte mejores prácticas para usar herramientas en Microsoft Foundry Agent Service.

Errores de conexión o autorización

  • Confirme que el identificador de conexión de automatización del navegador coincide con el identificador de recurso de conexión del área de trabajo de Playwright en su proyecto.
  • Confirme que la identidad de proyecto tiene acceso al área de trabajo de Playwright como recurso.
  • Si ha rotado recientemente el token de acceso de Playwright, actualice la clave de conexión del proyecto Foundry.

errores del SDK de Python

  • Área de trabajo no encontrada: compruebe que el punto de conexión del proyecto usa el formato correcto: https://{account-name}.services.ai.azure.com/api/projects/{project-name}. No utilices el formato de endpoint de Azure ML heredado.
  • Errores inesperados de argumentos de palabra clave: asegúrese de que usa la versión más reciente de azure-ai-projects. Ejecute pip install "azure-ai-projects>=2.0.0" --upgrade para actualizar.
  • Errores de importación: instale todos los paquetes necesarios: pip install "azure-ai-projects>=2.0.0".

Tiempo de espera de solicitudes

La automatización del explorador puede tardar más tiempo que las solicitudes típicas.

  • Aumente el tiempo de espera del cliente (el ejemplo de C# establece un tiempo de espera de 5 minutos).
  • Reduzca el ámbito de la solicitud (por ejemplo, menos páginas y menos interacciones).

Limpieza

  • Elimine la versión del agente que creó para las pruebas.
  • Revoque o gire el token de acceso de Playwright si ya no lo necesita.
  • Quite la conexión del proyecto si ya no es necesaria. Para obtener más información, consulte Agregar una conexión en Microsoft Foundry.

Escenarios de ejemplo

  • Reservas y citas: automatice el llenado de formularios y la confirmación de agenda en los portales de reservas.

  • Detección de productos: navegue por sitios de comercio electrónico o revisión, busque por criterios y extraiga resúmenes.

Nota de transparencia

Revise la nota de transparencia al usar esta herramienta. La herramienta De automatización del explorador es una herramienta que puede realizar tareas del explorador del mundo real a través de avisos de lenguaje natural, lo que permite actividades de exploración automatizadas sin intervención humana.

Revise las consideraciones de inteligencia artificial responsable al usar esta herramienta.