Introdução
Instalação
Guias
- Engine
- Perfil
- Navegador
- BrowserView
- Navegação
- Conteúdo
- Menu de contexto
- DOM
- JavaScript
- Pop-ups
- Diálogos
- Downloads
- Rede
- Cache
- Cookies
- Proxy
- Autenticação
- Permissões
- Plugins
- Impressão
- Senhas
- Perfis de dados do usuário
- Cartões de crédito
- Mídia
- Zoom
- Corretor ortográfico
- Implantação
- Chromium
Resolução de problemas
- Registro
- Exceções comuns
- A aplicação não termina
- O vídeo não é reproduzido
- Não é possível iniciar sessão na conta Google
- Os dados do usuário não são armazenados
- Esquema de cores
- Falha no início
- Início lento no Windows
- Aplicação .NET que não responde
- Encerramento inesperado do processo Chromium
- Comportamento inesperado
- Fim do suporte do Windows 7/8/8.1
Migração
Modo Headless
Configuração do servidor X em ambiente Linux headless
A biblioteca DotNetBrowser pode ser usada no ambiente Linux headless, desde que o servidor X esteja em execução.
Aqui está como iniciar o servidor X:
1. Instalar o servidor Xvfb
Por exemplo, isto pode ser feito através de apt
no Ubuntu 20.04 LTS ou em outras distribuições baseadas em Debian suportadas:
sudo apt install xvfb
2. Execute a sua aplicação .NET
Utilize o comando xvfb-run
para executar o comando que necessita num ambiente de servidor X virtual. Por exemplo, você pode envolver o comando dotnet run
com xvfb-run
para executar a sua aplicação a partir do código-fonte:
xvfb-run --server-args="-screen 0 800x600x24+32" dotnet run
É obrigatório especificar o tamanho da tela e a profundidade da cor.
Você também pode utilizar xvfb-run
para definir um ponto de entrada do seu contêiner Docker:
ENTRYPOINT xvfb-run --server-args='-screen 0 800x600x24+32' dotnet Example.Console.dll
Verifique a configuração do contêiner de desenvolvimento de demonstração ao vivo no nosso repositório de início rápido.
Sobre o sinalizador de linha de comando “headless”
O Chromium 58 e superior suportam o sinalizador de linha de comando --headless
que funciona apenas para Linux.
O sinalizador permite rodar o Chromium em ambiente Linux headless sem iniciar o servidor X. Este sinalizador é projetado para o caso em que você só precisa executar o Chromium em ambiente headless, carregar alguma URL e anexar à página web carregada usando DevTools através da chave --remote-debugging-port
. Por exemplo:
chrome --headless --remote-debugging-port=9222 https://chromium.org
Neste caso, carrega-se a página web localhost:9222
num navegador web e trabalha-se com a página web carregada utilizando o DevTools.
Como pode ver, o sinalizador de linha de comando --headless
foi concebido para ser usado quando você precisa carregar uma única página web e trabalhar com ela através do DevTools. Verificamos o código fonte do Chromium e descobrimos que este sinalizador força o Chromium a utilizar uma versão separada e limitada da API Chromium que não suporta a maioria (~80-90%) das funcionalidades utilizadas no DotNetBrowser.
Isso significa que esse sinalizador desabilita a maioria das funcionalidades do DotNetBrowser, como carregar diferentes páginas da Web por URL, HTML, navegar para trás e para frente, executar JavaScript, etc.
É por isso que este sinalizador NÃO É suportado pelo DotNetBrowser, e nós recomendamos que você inicie o servidor X para usar o DotNetBrowser num ambiente Linux headless.