Compartilhar via


Solução de problemas do conector da Web

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

Web.Contents

  • Web.Contents é usado para recuperar conteúdo da Web que não precisa ser acessado por um navegador, como arquivos CSV, resultados da API JSON e assim por diante.
  • Ele é compatível com a mais ampla 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 conteúdo da Web que precisa ser acessado por um navegador, como páginas HTML.
  • Ele foi 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 continuará 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 conteúdo da Web que precisa ser acessado por um Browser, como páginas HTML.
  • Na interface do usuário, Web.BrowserContents está substituindo Web.Page porque Web.Page é baseado no Internet Explorer.
  • Web.BrowserContents foi inicialmente 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 que não seja do navegador (arquivos .txt/.csv, JSON e assim por diante) x
Conteúdo do navegador (HTML) x x
Tipos de autenticação compatíveis Anônimo
Windows
Basic
API Web
Conta organizacional
Anônimo
Windows (somente credenciais do usuário atual)
API Web
Anônimo
Windows
Basic
API Web
Requer um gateway em hosts de nuvem N S S
Atualmente gerado por Todos os hosts Excel e Power Query Online Power BI Desktop
Com base 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 Modo de Exibição da Web na caixa de diálogo do navegador do Power Query. Essa visualização às vezes pode exibir um aviso como "Este navegador não tem mais suporte". Quando isso acontece, geralmente é porque o Modo de Exibição da Web atualmente renderiza a visualização usando o Internet Explorer, que não tem mais suporte em alguns sites. No entanto, isso afeta apenas o Modo de Exibição da Web, não o conector da Web em si. Contanto que esteja usando os conectores baseados em Web.Contents ou Web.BrowserContents (e não Web.Page), você pode ignorar esses avisos com segurança. Consulte Qual é a diferença entre Web.Contents, Web.BrowserContent e Web.Page? para obter mais informações sobre os diferentes conectores da Web e as tecnologias subjacentes.

Manipulando páginas dinâmicas da Web

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 dinâmica da Web. Um exemplo comum desse tipo de erro é:

  1. Você atualiza uma consulta que se conecta ao site.
  2. Você vê 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 ocorrem 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 considerar 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 WaitFor de Web.BrowserContents, que indica um seletor ou um período 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 veja-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.

Usar um gateway com o conector Web

Web.BrowserContents e 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 erro Please specify how to connect, verifique se tem o Internet Explorer 10 ou posterior instalado na máquina que hospeda o gateway de dados local.

Se estiver usando Web.BrowserContents e receber um erro We were unable to find the WebView2 runtime, verifique se 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 do runtime do 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:\Program Files (x86)\Microsoft\EdgeWebView).

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

Esse erro pode ocorrer se o processo responsável por chamar Web.BrowserContents estiver sendo executado no modo elevado, já que o WebView2 atualmente não oferece 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.Page manualmente.

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

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

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

  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 Servidor de Relatórios do Power BI.

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

  1. Selecione Na Web na guia Dados.
  2. Insira o endereço na caixa de diálogo Na Web e selecione OK.
  3. No Navegador, escolha os dados que 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 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. Escolha um gateway de dados local para usar.
    3. Selecione Avançar.

Você também pode inserir manualmente o código a seguir em uma consulta em branco. Insira 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

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

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

  1. Abra o Power BI Desktop.

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

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

    Imagem com a caixa de seleção Habilitar verificação de revogação de certificado selecionada.

  4. Selecione OK.

  5. Reinicie o Power BI Desktop.

Importante

Se você desmarcar Habilitar verificação de revogação de certificado, isso tornará as conexões 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 habilitará a verificação (impedindo o Fiddler e o software semelhante de funcionar). Definir "DisableCertificateRevocationCheck" como 1, por sua vez, sempre desabilitará a verificação (habilitando o Fiddler e software semelhante).

Alterar 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á até Alterar o método de autenticação.

Autenticação em serviços arbitrários

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

Ao tentar autenticar, se você vir o seguinte erro:

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

Erro durante a conexão com um ponto de extremidade que não oferece suporte ao OAuth com o conector Web.

Contate o proprietário do serviço. É necessário 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 estiver esperando se comunicar usando HTTP 1.0, você poderá 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á um corpo para evitar passar um conteúdo possivelmente grande quando a chamada inicial pode falhar (por exemplo, devido à falta de permissões). Atualmente, esse comportamento não pode ser alterado.

Conectar-se ao Microsoft Graph

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

Confira também