Google Chrome aktualisiert keine Eingabehilfen ( AutomationElement ), wenn ein Nutzer im Browser nach unten scrollt.
Um es zu reproduzieren:
- Aktivieren Sie die Renderer-Barrierefreiheit mit:
"chrome --force-render-accessibility"
oder indem Sie die Option Globale Barrierefreiheit unter aktivieren"chrome://accessibility"
. - Gehen Sie zu http://en.wikipedia.org/wiki/Google
- Öffnen Sie inspect.exe im UI-Automatisierungsmodus (aus Windows Kits) und suchen Sie nach dem Element "Links zu verwandten Artikeln".
- Kehren Sie zu Chrome zurück und scrollen Sie nach unten, bis unten "Links zu verwandten Artikeln" angezeigt werden
- Das Element "Links zu verwandten Artikeln" ist außerhalb des Bildschirms markiert
Ich habe einige manuelle Lösungen gefunden, die Chrome zwingen können, es zu aktualisieren:
- Stellen Sie den Zoom auf 90% und dann wieder auf 100% (sehr, sehr hässlich).
- Schalten Sie die Barrierefreiheit aus und wieder ein
chrome://accessibility/
Was ich suche, ist die Möglichkeit, einen dieser Vorgänge programmgesteuert auszuführen oder einen Vorgang, bei dem Chrome seinen Cache-Baum aktualisieren kann.
Was ich versucht habe:
- Fenstergröße ändern mit
PInvoke/MoveWindow
- Fenster neu zeichnen mit
PInvoke/Redrawwindow
- Erstellen Sie eine Chrome-Erweiterung und erzwingen Sie den Zoom bei Bedarf auf 100%:
chrome.tabs.setZoom(null, 0);
(funktioniert, blinkt aber und verlangsamt das Fenster)
Keines davon funktioniert ordnungsgemäß.
BEARBEITEN : Getestet mit Google Chrome 40.XX, 41.XX, 42.XX, 43.XX, 44.XX, 45.XX, 46.XX, 47.XX.Dev, 48.XX.Dev unter Windows 7.