O Google Chrome não atualiza elementos de acessibilidade ( AutomationElement ) quando um usuário rola para baixo no navegador.
Para reproduzi-lo:
- Ative a acessibilidade do renderizador com:
"chrome --force-render-accessibility"
ou configurando Global Accessibility em"chrome://accessibility"
. - Acesse http://en.wikipedia.org/wiki/Google
- Abra o inspect.exe no modo de automação da interface do usuário (no Windows Kits), procure o elemento "Links para artigos relacionados".
- Volte ao Chrome, role para baixo até que "Links para artigos relacionados" na parte inferior fique visível
- O elemento "Links para artigos relacionados" está marcado fora da tela
Encontrei algumas soluções manuais que podem forçar o Chrome a atualizá-lo:
- Defina o zoom para 90% e depois para 100% (muito, muito feio)
- Desligue a acessibilidade e ligue-a
chrome://accessibility/
O que estou procurando é a capacidade de executar uma dessas operações programaticamente ou qualquer operação que possa fazer o Chrome atualizar sua árvore de cache.
O que eu tentei:
- Redimensione a janela com
PInvoke/MoveWindow
- Redesenhar janela com
PInvoke/Redrawwindow
- Crie uma extensão do Chrome e force o zoom a 100% sob demanda:
chrome.tabs.setZoom(null, 0);
(funcionando, mas pisque e diminua a velocidade da janela)
Nenhuma delas está funcionando corretamente.
Edição : Testado com Google Chrome 40.XX, 41.XX, 42.XX, 43.XX, 44.XX, 45.XX, 46.XX, 47.XX.Dev, 48.XX.Dev no Windows 7.