Closed luciodaou closed 2 years ago
Mesmo erro no Ubuntu com Chromium, também sem proxy, em casa.
Trata-se de um problema relacionado ao headless-mode
do Chrome (sem janela) que não permite execução de código JavaScript responsável por varrer e localizar o nome do arquivo que foi feito download pela página chrome://downloads
pois é embutido nesta páginas vários nodes shadowRoot
que não permitem acesso sem a janela em si aberta, quebrando o acesso via javascript que retorna erro ao tentar localizar um objeto por este localizador.
Temporariamente desativei o headless mode no commit (0856250a7916b623629f55c92bb636f29b7c40ac) assim será aberta a janela do navegador para que seja possível o restante do processamento do código.
Para tratativas analiso mudar a metodologia de processamento do arquivo baixado, já penso em varrer o diretório tmp
criado durante a execução para o download e o arquivo que estiver lá será tratado, não é o melhor método, mas abre caminho para o uso do headless mode, porém ainda tenho que monitorar o tamanho do arquivo até que não haja mudanças ou que seja de fato finalizado o download, esta é a grande questão do javascript que monitora o download.
Usando varredura de diretórios e analisando o nome do arquivo por expressões regulares, foi possível tratar o problema do gerenciamento do download, visto que o Chrome usa um nome temporário enquanto o download é feito e na finalização apenas define o nome final. Assim monitorando um diretório que fica vazio antes de iniciar o download e analisando o nome do arquivo, foi possível rastrear o download e sua finalização. Solucionado no commit (91567a00b431555b121235f2714e04b3a632791e).
Arch Linux no WSL Chrome instalado pelo Yay/AUR - Version 97.0.4692.99 (Official Build) (64-bit) Chromedriver instalado pelo Yay/AUR - ChromeDriver 97.0.4692.71 Em casa, sem proxy.