Wie finde ich die vier Elemente mit Selen in Python?

8

Ich versuche, mehrere Parameter zu dieser [URL] [1] zu posten und drücke 'submit', um eine generierte csv-Datei herunterzuladen.

Ich denke, dass mindestens 5 Schritte benötigt werden.

    
questionhang 17.10.2017, 14:02
quelle

3 Antworten

0

Da noch niemand eine Lösung gepostet hat, gehen Sie hier. Sie werden mit Anfragen nicht weit kommen, deshalb ist Selen Ihre beste Wahl. Wenn Sie das folgende Skript ohne Änderungen verwenden möchten, überprüfen Sie Folgendes:

  • Sie sind auf Linux oder Macos, oder ändern dl_dir = '/tmp' in ein Verzeichnis, das Sie wollen
  • Sie haben chromedriver installiert, oder ändern Sie den Treiber zu Firefox im Code (und passen Sie die Download-Verzeichnis-Konfiguration entsprechend was Firefox will)

Hier ist die Umgebung getestet mit:

%Vor%

Ich habe fast jede Zeile kommentiert, also lass den Code reden:

%Vor%

Wenn alles in Ordnung ist, sollte das Skript folgendes ausgeben:

%Vor%     
hoefling 26.10.2017, 23:57
quelle
1

Leider glaube ich nicht, dass Sie dies über Anfragen tun können. Soweit ich das beurteilen kann, gibt es keinen POST, wenn Sie auf "Senden" klicken. Es scheint, als würden alle Daten von JavaScript generiert, mit denen Anfragen nicht umgehen können.

Sie könnten versuchen, etwas wie Selenium zu verwenden, um einen Browser zu automatisieren (der JS verarbeiten kann) und dann Daten von dort zu scrappen .

    
SuperStew 17.10.2017 14:26
quelle
0

Versuchen Sie es. Sie müssen den Rest nach Ihren Bedürfnissen verarbeiten. Hier ist der wesentliche Teil. Es erzeugt folgende Ergebnisse:

%Vor%

Teilergebnisse (ID und Name):

%Vor%

Übrigens, wenn Sie die Zielseite erreichen, werden Sie dort zwei Registerkarten sehen. Diese Ergebnisse werden von der Registerkarte (OBSERVATIONS) abgeleitet. Der Link, den ich oben verwendet habe, kann auch in den Chrome-Entwicklertools gefunden werden.

    
SIM 18.10.2017 13:14
quelle

Tags und Links