Compartir a través de


Solución de problemas del conector web

¿Cuál es la diferencia entre Web.Contents, Web.BrowserContents y Web.Page?

Web.Contents

  • Web.Contents se usa para recuperar contenido web al que no es necesario tener acceso a través de un explorador, como archivos CSV, resultados de api JSON, etc.
  • Admite la variedad más amplia de opciones de autenticación.
  • Se puede usar en entornos en la nube, como Power Query Online, sin una puerta de enlace.

Web.Page

  • Web.Page es una función heredada para recuperar contenido web al que se debe tener acceso a través de un explorador, como páginas HTML.
  • Se basa en Internet Explorer. Debido a este requisito, se va a reemplazar en la interfaz de usuario por Web.BrowserContents. Sin embargo, Web.Page sigue estando disponible a nivel de motor para la compatibilidad con versiones anteriores.
  • Se requiere una puerta de enlace para usarla en entornos en la nube, como Power Query Online.

Web.BrowserContents

  • Web.BrowserContents es una función actualizada para recuperar contenido web al que se debe tener acceso a través de un explorador, como páginas HTML.
  • En la interfaz de usuario, Web.BrowserContents reemplaza Web.Page, porque Web.Page se basa en Internet Explorer.
  • Web.BrowserContents se creó inicialmente en Chromium, pero ahora usa el control WebView2 de Microsoft Edge.
  • Se requiere una puerta de enlace para usarla en entornos en la nube, como Power Query Online.

En la tabla siguiente se resumen las diferencias.

Web.Contents Web.Page Web.BrowserContents
Contenido que no es del explorador (archivos.txt/.csv, JSON, etc.) x
Contenido del explorador (HTML) x x
Tipos de autenticación admitidos Anónimo
Windows
Básico
API de la Web
Cuenta organizativa
Anónimo
Windows (solo credenciales del usuario actual)
API de la Web
Anónimo
Windows
Básico
API de la Web
Requiere un gateway en los hosts de la nube N S S
Generado actualmente por Todos los hosts Excel y Power Query Online Power BI Escritorio
Basado en .NET Internet Explorer Control WebView2 de Microsoft Edge

Nota:

Las solicitudes POST solo se pueden realizar de forma anónima cuando se usa Web.Contents.

Advertencias de "Este explorador ya no se admite" en la vista web

Al importar una página web, puede ver una vista previa de la página mediante la pestaña Vista web en el cuadro de diálogo navegador de Power Query. Esta versión preliminar puede a veces mostrar una advertencia como "Este explorador ya no se admite". Cuando se produce esta advertencia, suele deberse a que la vista web representa actualmente la vista previa de vista web mediante Internet Explorer, que ya no es compatible con algunos sitios web. Sin embargo, esta advertencia solo afecta a la vista web y no afecta al propio conector web. Siempre que use los conectores basados en Web.Contents o Web.BrowserContents (y no Web.Page), puede omitir estas advertencias de forma segura. Para obtener más información sobre los diferentes conectores web y sus tecnologías subyacentes, vaya a ¿Cuál es la diferencia entre Web.Contents, Web.BrowserContents y Web.Page?.

Control de páginas web dinámicas

Las páginas web que cargan su contenido dinámicamente pueden requerir un control especial. Si observa errores esporádicos en las consultas web, es posible que intente acceder a una página web dinámica. Un ejemplo común de este tipo de error es:

  1. Actualiza una consulta que se conecta al sitio.
  2. Verá un error (por ejemplo, "no se encontró la columna 'Foo' de la tabla").
  3. Vuelva a actualizar la consulta.
  4. No se produce ningún error.

Estos tipos de problemas suelen deberse al tiempo. Las páginas que cargan su contenido dinámicamente a veces pueden ser inconsistentes, ya que el contenido puede cambiar después de que el navegador considere que ha terminado de cargar. A veces, el conector web descarga el CÓDIGO HTML después de cargar todo el contenido dinámico. Otras veces los cambios siguen en curso cuando descarga el CÓDIGO HTML, lo que provoca errores esporádicos.

La solución consiste en usar la WaitFor opción Web.BrowserContents, que indica un selector o un período de tiempo que se debe esperar antes de descargar el CÓDIGO HTML.

¿Cómo puede saber si una página es dinámica? Normalmente es bastante simple. Abra la página en un explorador y observe que se carga. Si el contenido aparece inmediatamente, se trata de una página HTML normal. Si aparece dinámicamente o cambia con el tiempo, se trata de una página dinámica.

Uso de una puerta de enlace con el conector Web

Tanto Web.BrowserContents como Web.Page requieren el uso de una puerta de enlace de datos local cuando se publica en un servicio en la nube, como modelos semánticos de Power BI o flujos de datos, o flujos de datos de Power Apps. (Actualmente, Dynamics 365 Customer Insights no admite el uso de una puerta de enlace).

Si usa Web.Page y recibe un Please specify how to connect error, asegúrese de que tiene Internet Explorer 10 o posterior instalado en el equipo que hospeda la puerta de enlace de datos local.

Si usa Web.BrowserContents y recibe un We were unable to find the WebView2 runtime error, asegúrese de que tiene instalado el entorno de ejecución de WebView2 en el equipo que hospeda la puerta de enlace de datos local. El mensaje de error debe proporcionar un vínculo al instalador en tiempo de ejecución de WebView2. Si instaló el runtime pero sigue viendo el error, asegúrese de que la cuenta de servicio de puerta de enlace (normalmente PBIEgwService) tiene acceso a la ubicación de instalación del entorno de ejecución de WebView2 (por ejemplo, C:\Archivos de programa (x86)\Microsoft\EdgeWebView).

Se encontraron errores al inicializar el navegador web al usar Web.BrowserContents

Este error puede producirse si el proceso que llama a Web.BrowserContents se ejecuta en modo con privilegios elevados, ya que WebView2 actualmente no admite la ejecución con privilegios de administrador.

Uso de Web.Page en lugar de Web.BrowserContents

En los casos en los que necesite usar Web.Page en lugar de Web.BrowserContents, puede seguir usando Web.Pagemanualmente .

En Power BI Desktop, puede usar la función anterior Web.Page desactivando la opción Habilitar inferencia de tabla web :

  1. En la pestaña Archivo, seleccione Opciones y opciones de configuración>.

  2. En la sección Global , seleccione Editor de Power Query.

  3. Desactive la opción Habilitar inferencia de tabla web y, a continuación, seleccione Aceptar.

  4. Reinicie Power BI Desktop.

    Nota:

    Actualmente, no puede desactivar el uso de Web.BrowserContents en Power BI Desktop optimizado para Power BI Report Server.

También puede obtener una copia de una Web.Page consulta de Excel. Para copiar el código de Excel:

  1. Seleccione From Web (Desde web) en la pestaña Datos .
  2. Escriba la dirección en el cuadro de diálogo Desde web y, a continuación, seleccione Aceptar.
  3. En Navegador, elija los datos que desea cargar y, a continuación, seleccione Transformar datos.
  4. En la pestaña Inicio de Power Query, seleccione Editor avanzado.
  5. En el Editor avanzado, copie la fórmula M.
  6. En la aplicación que usa Web.BrowserContents, seleccione el conector De consulta en blanco .
  7. Si vas a copiar en Power BI Desktop:
    1. En la pestaña Inicio , seleccione Editor avanzado.
    2. Pegue la consulta copiada Web.Page en el editor y seleccione Listo.
  8. Si estás copiando en Power Query Online:
    1. En la consulta en blanco, pegue la consulta copiada Web.Page en la consulta en blanco.
    2. Seleccione una puerta de enlace de datos local que se va a usar.
    3. Seleccione Siguiente.

También puede escribir manualmente el código siguiente en una consulta en blanco. Asegúrese de escribir la dirección de la página web que desea cargar.

let
  Source = Web.Page(Web.Contents("<your address here>")),
  Navigation = Source{0}[Data]
in
  Navigation

Captura de solicitudes web y revocación de certificados

Hemos reforzado la seguridad de las conexiones web para proteger los datos. Sin embargo, esta actualización significa que determinados escenarios, como capturar solicitudes web con Fiddler, ya no funcionan de forma predeterminada. Para habilitar esos escenarios:

  1. Abra Power BI Desktop.

  2. En la pestaña Archivo, seleccione Opciones y opciones de configuración>.

  3. En Opciones, en Global>Seguridad, desactive Habilitar comprobación de revocación de certificados.

    Captura de pantalla de la casilla Habilitar revocación de certificados seleccionada.

  4. Selecciona Aceptar.

  5. Reinicie Power BI Desktop.

Importante

Al desactivar habilitar la comprobación de revocación de certificados , las conexiones web son menos seguras.

Para establecer este escenario en la directiva de grupo, use la clave "DisableCertificateRevocationCheck" en la ruta de acceso del Registro "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop". Al configurar "DisableCertificateRevocationCheck" en 0, siempre se habilita la comprobación (impidiendo que Fiddler y programas similares funcionen) y al configurar "DisableCertificateRevocationCheck" en 1, siempre se deshabilita la comprobación (permitiendo que Fiddler y programas similares funcionen).

Cambio del método de autenticación

En algunos casos, es posible que tenga que cambiar el método de autenticación que usa para acceder a un sitio determinado. Si este cambio es necesario, vaya a Cambiar el método de autenticación.

Autenticación en servicios arbitrarios

Algunos servicios admiten la capacidad de que el conector web se autentique con OAuth/Microsoft Entra ID de forma predeterminada. Sin embargo, esta autenticación no funciona en la mayoría de los casos.

Al intentar autenticarse, si se produce el siguiente error:

We were unable to connect because this credential type isn’t supported for this resource. Please choose another credential type.

Captura de pantalla del cuadro de diálogo de autenticación que muestra un error al conectarse a un punto de conexión que no admite OAuth con el conector web.

Póngase en contacto con el propietario del servicio. Deben cambiar la configuración de autenticación o crear un conector personalizado.

El conector web usa HTTP 1.1 para comunicarse

El conector web de Power Query se comunica con un origen de datos mediante HTTP 1.1. Si el origen de datos espera comunicarse mediante HTTP 1.0, es posible que reciba un error, como 500 Internal Server Error.

No es posible cambiar Power Query para usar HTTP 1.0. Power Query siempre envía un Expect:100-continue cuando hay un cuerpo para evitar pasar una carga posiblemente grande cuando se puede producir un error en la llamada inicial (por ejemplo, debido a la falta de permisos). Actualmente, este comportamiento no se puede cambiar.

Conexión a Microsoft Graph

Actualmente, Power Query no admite la conexión a las API REST de Microsoft Graph. Más información: Falta de soporte técnico para Microsoft Graph en Power Query