Google Chrome non aggiorna gli elementi di accessibilità ( AutomationElement ) quando un utente scorre verso il basso nel browser.
Per riprodurlo:
- Abilita l'accessibilità del renderer con:
"chrome --force-render-accessibility"
o impostando Accessibilità globale su"chrome://accessibility"
. - Vai su http://en.wikipedia.org/wiki/Google
- Apri inspect.exe in UI Automation Mode (da Windows Kits), cerca l'elemento "Collegamenti ad articoli correlati".
- Torna a Chrome, scorri verso il basso fino a quando "Link ad articoli correlati" in basso è visibile
- L'elemento "Collegamenti ad articoli correlati" è contrassegnato dallo schermo
Ho trovato alcune soluzioni manuali che possono costringere Chrome ad aggiornarlo:
- Imposta Zoom su 90%, quindi ripristinalo su 100% (modo molto brutto)
- Disattiva l'accessibilità, quindi attiva
chrome://accessibility/
Quello che sto cercando è la possibilità di eseguire una di queste operazioni a livello di codice o qualsiasi operazione che possa far aggiornare Chrome al suo albero della cache.
Cosa ho provato:
- Ridimensiona la finestra con
PInvoke/MoveWindow
- Ridisegna la finestra con
PInvoke/Redrawwindow
- Costruisci un'estensione cromata e forza lo zoom al 100% su richiesta:
chrome.tabs.setZoom(null, 0);
(funziona ma lampeggia e rallenta la finestra)
Nessuno di questi funziona correttamente.
EDIT : testato con Google Chrome 40.XX, 41.XX, 42.XX, 43.XX, 44.XX, 45.XX, 46.XX, 47.XX.Dev, 48.XX.Dev in Windows 7.