Es kann kein geteilter Bildschirm einer Webseite gescrollt werden

8

Ich habe ein Skript in VBA geschrieben, um einige Elemente von einer Webseite zu scrappen. Standardmäßig sind beim Öffnen dieser Seite 4/5 Elemente sichtbar. Die Webseite zeigt jedoch den Rest der Elemente an, wenn ein Bildlauf nach unten ausgeführt wird. Wenn es keinen geteilten Bildschirm gäbe, hätte ich es mit .parentWindow.scrollBy behandeln können. Da ich keine Idee habe, wie man einen Teilbildschirm einer Webseite scrollt, bleibe ich stecken. Jede Hilfe dazu wird sehr geschätzt.

Link zur Webseite: Seite_Link

Das habe ich bisher geschrieben:

%Vor%

Übrigens, so sieht das geteilte Fenster aus:

Post-Skript: Ich bin nur nach einer Lösung in Bezug auf einen geteilten Bildschirm scrollen wie es oben sichtbar ist.

    
SIM 16.01.2018, 06:42
quelle

2 Antworten

5

Für das Scrollen des linken Fensters verwenden Sie den div mit dem Klassennamen sc-iqzUVk gZZIKO und legen Sie scrollTop auf einen Wert, z Verwenden Sie scrollHeight , um blättern Sie nach unten wie diese leftWindowDiv.scrollTop = leftWindowDiv.scrollHeight .

Vollständiges Beispiel:

%Vor%

Da die Klassennamen anscheinend generiert werden (Namen wie sc-iqzUVk gZZIKO sehen aus wie generiert), könnte es schwierig sein, das passende div basierend auf dem Klassennamen zu finden, da sich der generierte Name ändert. Das ist wahrscheinlich der Grund, warum Sie den Bildlauf nicht ausführen konnten, während Sie in Ihrem Kommentar schreiben. Dies kann mit der Methode querySelector gelöst werden, die bereits von @Florent B vorgeschlagen wurde. Weitere Informationen zu Selektoren .

Dieser Selektor wählt alle divs innerhalb des Elements mit der ID app aus, deren Stilattribut mit scroll; endet.

%Vor%     
dee 18.01.2018, 11:17
quelle
-1

Da die Daten tatsächlich über JavaScript (AJAX-Anfrage) in die Seite geladen werden, ist es möglicherweise einfacher, direkt zur Quelle zu gehen, anstatt die Daten von der Seite zu scrappen ... dann müssen Sie es nicht versuchen die Datenaktualisierung durch Scrollen auslösen.

z. Diese Anfrage ...

%Vor%

... wird hinter den Kulissen erstellt und gibt ein JSON-Datenpaket mit den übereinstimmenden Daten zurück:

%Vor%

Sie können dann einen JSON-Parser für VBA verwenden, um die Rohdaten zu verarbeiten, anstatt das HTML zu scrappen und finde, wonach du suchst.

    
Nerdwood 16.01.2018 06:53
quelle