Compartilhar via


Solução de problemas do conector da Web

Qual é a diferença entre Web.Contents, Web.BrowserContents e Web.Page?

Web.Contents

  • Web.Contents é usado para recuperar o conteúdo da Web que não precisa ser acessado por meio de um navegador, como arquivos CSV, resultados da API JSON e assim por diante.
  • Ele dá suporte à maior variedade de opções de autenticação.
  • Ele pode ser usado em ambientes de nuvem, como o Power Query Online, sem um gateway.

Web.Page

  • Web.Page é uma função herdada para recuperar o conteúdo da Web que precisa ser acessado por meio de um navegador, como páginas HTML.
  • Ele é criado no Internet Explorer. Devido a esse requisito, ele está sendo substituído na interface do usuário por Web.BrowserContents. No entanto, Web.Page continua disponível no nível do mecanismo para compatibilidade com versões anteriores.
  • Um gateway é necessário para usá-lo em ambientes de nuvem, como o Power Query Online.

Web.BrowserContents

  • Web.BrowserContents é uma função atualizada para recuperar o conteúdo da Web que precisa ser acessado por meio de um navegador, como páginas HTML.
  • Na interface do usuário, Web.BrowserContents está substituindo Web.Page, porque Web.Page se baseia no Internet Explorer.
  • Web.BrowserContents inicialmente foi criado no Chromium, mas agora usa o controle WebView2 do Microsoft Edge.
  • Um gateway é necessário para usá-lo em ambientes de nuvem, como o Power Query Online.

A tabela a seguir resume as diferenças.

Web.Contents Web.Page Web.BrowserContents
Conteúdo não navegador ( arquivos.txt/.csv, JSON e assim por diante) x
Conteúdo do navegador (HTML) x x
Tipos de autenticação com suporte Anônimo
Windows
Básico
Web API
Conta organizacional
Anônimo
Windows (somente credenciais do usuário atual)
Web API
Anônimo
Windows
Básico
Web API
Requer um gateway em hosts de nuvem N S S
Atualmente gerado por Todos os hosts Excel e Power Query Online Power BI Desktop
Baseado em .NET Internet Explorer Controle WebView2 do Microsoft Edge

Observação

As solicitações POST só podem ser feitas anonimamente ao usar Web.Contents.

Avisos "Este navegador não tem mais suporte" no Modo de Exibição da Web

Ao importar uma página da Web, você pode exibir uma visualização da página usando a guia Exibição da Web na caixa de diálogo navegador do Power Query. Essa visualização pode, às vezes, exibir um aviso como "Este navegador não é mais suportado". Quando esse aviso ocorre, geralmente é porque a Visualização na Web atualmente renderiza a prévia usando o Internet Explorer, que não é mais compatível com alguns sites. No entanto, esse aviso afeta apenas a Visualização da Web e não afeta o próprio conector web. Desde que você esteja usando os conectores com base em Web.Contents ou Web.BrowserContents (e não Web.Page), você pode ignorar esses avisos com segurança. Para obter mais informações sobre os diferentes conectores da Web e suas tecnologias subjacentes, acesse Qual é a diferença entre Web.Contents, Web.BrowserContents e Web.Page?.

Manipulando páginas da Web dinâmicas

Páginas da Web que carregam seu conteúdo dinamicamente podem exigir tratamento especial. Se você observar erros esporádicos em suas consultas da Web, é possível que você esteja tentando acessar uma página da Web dinâmica. Um exemplo comum desse tipo de erro é:

  1. Você atualiza uma consulta que se conecta ao site.
  2. Você verá um erro (por exemplo, "a coluna 'Foo' da tabela não foi encontrada").
  3. Atualize a consulta novamente.
  4. Nenhum erro ocorre.

Esses tipos de problemas geralmente são devido ao tempo. As páginas que carregam seu conteúdo dinamicamente às vezes podem ser inconsistentes, pois o conteúdo pode ser alterado depois que o navegador considera o carregamento concluído. Às vezes, o conector da Web baixa o HTML depois que todo o conteúdo dinâmico é carregado. Outras vezes, as alterações ainda estão em andamento quando ele baixa o HTML, levando a erros esporádicos.

A solução é usar a opção WaitForWeb.BrowserContents, que indica um seletor ou um período de tempo que deve ser aguardado antes de baixar o HTML.

Como você pode saber se uma página é dinâmica? Normalmente é bem simples. Abra a página em um navegador e observe-a carregar. Se o conteúdo aparecer imediatamente, será uma página HTML regular. Se ele aparecer dinamicamente ou mudar ao longo do tempo, será uma página dinâmica.

Usando um gateway com o conector Web

Tanto Web.BrowserContents quanto Web.Page exigem o uso de um gateway de dados local quando publicado em um serviço de nuvem, como modelos semânticos ou fluxos de dados do Power BI, ou fluxos de dados do Power Apps. (Atualmente, o Dynamics 365 Customer Insights não dá suporte ao uso de um gateway.)

Se você estiver usando Web.Page e receber um Please specify how to connect erro, verifique se você tem o Internet Explorer 10 ou posterior instalado no computador que hospeda o gateway de dados local.

Se você estiver usando Web.BrowserContents e receber um We were unable to find the WebView2 runtime erro, verifique se você tem o runtime do WebView2 instalado no computador que hospeda o gateway de dados local. A mensagem de erro deve fornecer um link para o instalador de runtime WebView2. Se você instalou o runtime, mas ainda está vendo o erro, verifique se a conta de serviço do gateway (geralmente PBIEgwService) tem acesso ao local de instalação do runtime do WebView2 (por exemplo, C:\Arquivos de Programas (x86)\Microsoft\EdgeWebView).

"Encontramos um erro ao inicializar o navegador da Web" ao usar Web.BrowserContents

Esse erro poderá ocorrer se o processo que chama Web.BrowserContents estiver em execução no modo elevado, já que o WebView2 atualmente não dá suporte à execução com privilégios de administrador.

Usando Web.Page em vez de Web.BrowserContents

Nos casos em que você precisa usar Web.Page em vez de Web.BrowserContents, você ainda pode usar Web.Pagemanualmente.

No Power BI Desktop, você pode usar a função mais antiga Web.Page desmarcando a opção Habilitar inferência da tabela Web :

  1. Na guia Arquivo, selecione Opções e opções de configurações>.

  2. Na seção Global , selecione o Editor do Power Query.

  3. Desmarque a opção Habilitar inferência de tabela da Web e selecione OK.

  4. Reinicie o Power BI Desktop.

    Observação

    Atualmente, você não pode desativar o uso de Web.BrowserContents no Power BI Desktop otimizado para o Servidor de Relatórios do Power BI.

Você também pode obter uma cópia de uma Web.Page consulta no Excel. Para copiar o código do Excel:

  1. Selecione De Web na guia Dados.
  2. Insira o endereço na caixa de diálogo Da Web e selecione OK.
  3. No Navegador, escolha os dados que você deseja carregar e selecione Transformar Dados.
  4. Na guia Página Inicial do Power Query, selecione Editor Avançado.
  5. No Editor Avançado, copie a fórmula M.
  6. No aplicativo que usa Web.BrowserContents, selecione o conector de Consulta em Branco .
  7. Se você estiver copiando para o Power BI Desktop:
    1. Na guia Página Inicial , selecione Editor Avançado.
    2. Cole a consulta copiada Web.Page no editor e selecione Concluído.
  8. Se você estiver copiando para o Power Query Online:
    1. Na Consulta em Branco, cole a consulta copiada Web.Page na consulta em branco.
    2. Selecione um gateway de dados local a ser usado.
    3. Selecione Próximo.

Você também pode inserir manualmente o código a seguir em uma consulta em branco. Verifique se você insere o endereço da página da Web que deseja carregar.

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

Capturando solicitações da Web e revogação de certificado

Reforçamos a segurança das conexões da Web para proteger seus dados. No entanto, essa atualização significa que determinados cenários, como capturar solicitações da Web com o Fiddler, não funcionam mais por padrão. Para habilitar esses cenários:

  1. Abra o Power BI Desktop.

  2. Na guia Arquivo, selecione Opções e opções de configurações>.

  3. Em Opções, emSegurança>, desmarque Habilitar verificação de revogação de certificado.

    Captura de tela da caixa de seleção Habilitar revogação de certificado selecionada.

  4. Selecione OK.

  5. Reinicie o Power BI Desktop.

Importante

Desmarcar Habilitar verificação de revogação de certificado torna as conexões Da Web menos seguras.

Para definir esse cenário na Política de Grupo, use a chave "DisableCertificateRevocationCheck" no caminho do registro "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Power BI Desktop". Definir "DisableCertificateRevocationCheck" como 0 sempre habilita a verificação (impedindo o funcionamento do Fiddler e software semelhante) e a configuração "DisableCertificateRevocationCheck" como 1 sempre desabilita a verificação (habilitando o Fiddler e software semelhante).

Alterando o método de autenticação

Em alguns casos, talvez seja necessário alterar o método de autenticação usado para acessar um site específico. Se essa alteração for necessária, vá para Alterar o método de autenticação.

Autenticação para serviços arbitrários

Alguns serviços dão suporte à capacidade do conector Web de se autenticar com a autenticação OAuth/Microsoft Entra ID pronta para uso imediato. No entanto, essa autenticação não funciona na maioria dos casos.

Ao tentar autenticar, se ocorrer o seguinte erro:

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

Captura de tela da caixa de diálogo de autenticação exibindo um erro ao se conectar a um ponto de extremidade que não dá suporte ao OAuth com o conector Web.

Contate o proprietário do serviço. Eles precisam alterar a configuração de autenticação ou criar um conector personalizado.

O conector Web usa HTTP 1.1 para se comunicar

O conector Web do Power Query se comunica com uma fonte de dados usando HTTP 1.1. Se a fonte de dados espera se comunicar usando HTTP 1.0, você pode receber um erro, como 500 Internal Server Error.

Não é possível alternar o Power Query para usar HTTP 1.0. O Power Query sempre envia um Expect:100-continue quando há conteúdo para evitar passar uma carga (payload) possivelmente grande quando a chamada inicial em si pode falhar (por exemplo, devido à falta de permissões). Atualmente, esse comportamento não pode ser alterado.

Conectando-se ao Microsoft Graph

No momento, o Power Query não dá suporte à conexão às APIs REST do Microsoft Graph. Mais informações: Falta de suporte para o Microsoft Graph no Power Query