Closed rennancl closed 2 years ago
Hey team! Please add your planning poker estimate with ZenHub @caiocvsilva @elvesrodrigues @matheusfebarbosa
@caiocvsilva e @matheusfebarbosa eu dei 3 pontos para essa issue pois ao meu ver, definir na configuração do pyppetteer o tamanho da tela programaticamente resolveria. O que seria simples. Mas posso estar errado.
Olá, pessoal!
Essa issue foi criada pela impossibilidade de realizar a coleta https://github.com/MPMG-DCC-UFMG/C01/issues/635, porque o nosso webdriver não apresentava todos os elementos da página. Acreditávamos que era uma questão de tamanho da tela, até que percebi uma coisa no código-fonte da página: os elementos desaparecidos têm características em comum, relacionadas ao user agent stylesheet
.
Um exemplo: usando o navegador Chrome, inspecionei o div.btnMenu
, faltante no screenshot do nosso webdriver.
Analisando o código, note que na seção user agent stylesheet
, temos que a propriedade display:block
está riscada, indicando que o bloqueio dessa propriedade não se aplica ao meu user agent
que está acessando a página nesse momento.
Assim, desconfiei de que essas informações faltantes no screenshot do nosso sistema estão relacionadas ao user agent
do nosso webdriver, com navegador Chromium.
Para testar essa hipótese, criei um playwright para acessar e printar a página utilizando outros navegadores. Abaixo, os resultados:
Teste 1: Chromium
Teste 2: Webkit
Teste 3: Firefox
Tivemos sucesso usando o user agent do Firefox. Porém, esse navegador não é uma alternativa no sistema atual, em que estamos usando Pyppeteer, que não possui Cross-Browser. Em breve, poderemos resolver esse problema facilmente: decidimos por dar ao usuário do nosso sistema a opção de usar outros navegadores.
Assim, estou fechando a issue de investigação e abrindo outra que especifica o comportamento decidido em equipe.
Comportamento Esperado
As fontes deveriam ser renderizada igualmente tanto no navegador quanto num webdriver.
Comportamento Atual
A fonte descrita em #635 apresenta elementos diferentes na versão webdriver/processamento dinâmico versus navegador. Mais especificamente, a interface de manipulação de filtros não é renderizada no webdriver, assim não é possível encontrar os elementos que filtram na página e a coleta fica inviável. Os screenshots abaixo mostram esses elementos.
Passos para reproduzir o erro
Especificações da Coleta
Especificação abaixo criada pelo @carbo6ufmg
O caminho de salvamento dos dados é a ánica entrada que deve ser alterada.
Sistema (caso necessário)
E qualquer sistema (incluindo local)
Screenshots (caso necessário)
Screenshot gerado pelo passo:
Screenshot no navegador: