Selenium in Python nützen ( IDE = PyCharm )

12/22/2018 21:02 Mad0ck#1
Hallo,

Da ich selber viel Probleme hatte, die Selenium Lib in Pyhton nutzbar zu machen, und es mich viele Stunden gekostet, herauszufinden warum es nicht funktioniert, mach ich nen kurzes TuT, um Nachfolgern dieses Problem zu ersparen.

Was wird benötigt ?
-Python
-Silenium Lib
-Chrome Webdriver
-Firefox Webdriver ( auch Geckodriver genannt )
- IDE ( in meinem Fall nehme ich PyCharm )

Python & Co downloaden und installieren
Ladet euch die aktuelle Version von [Only registered and activated users can see links. Click Here To Register...] runter.
Ich rate euch, Pyhton nicht als Express Installation zu installieren sondern manuell. ( Man kann so den Zielpfad angeben, was nett aber kein must have ist )
Ich habe das ganze unter C:\ in dem Ordner Python37 gespeichert.
[Only registered and activated users can see links. Click Here To Register...]

Danach ladet euch [Only registered and activated users can see links. Click Here To Register...] als .tar.gz runter.
Dies entpackt Ihr, und speichert es in euren vorher installierten Python Ordner. Bei mir ist es C:\Python37
WICHTIG ! Bennent den Ordner unbedingt in selenium um !

Öffnet den Lib Ordner und kopiert nun den selenium Ordner rein.
[Only registered and activated users can see links. Click Here To Register...]


Nun werden die Webdriver runter geladen.
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

Wählt je nach euren System die richtige Datei aus.

Die beiden Files wieder entpacken, und den Inhalt beliebig abspeichern.
( Sollte jedoch nicht irgendwo im nirgendwo liegen )
Ich habe das ganze wieder auf C:\ gespeichert.
[Only registered and activated users can see links. Click Here To Register...]
Die .exe von Geckodriver kommt in nen Ordner "geckodriver" und für den webdriver von chrome das gleiche nur in nen Ordner "webdriver".


Umgebungsvariablen setzen
Um die Lib, bzw die driver benutzen zu können, müssen diese als Umgebungsvar. hinterlegt werden.
Begebt euch zum folgenden Ort:
Systemsteuerung\Alle Systemsteuerungselemente\System ->
Erweiterte Systemeinstellungen
[Only registered and activated users can see links. Click Here To Register...]
Danach kommt dies:
[Only registered and activated users can see links. Click Here To Register...]
Sucht bei den Systemvariablen die Path Var. und danach auf Bearbeiten.

[Only registered and activated users can see links. Click Here To Register...]

Nun müsst Ihr alle Pade hinzufügen.
Drückt auf -> Neu -> kopiert den Pfad rein.
Folgendes muss dabei sein:
-> Ort wo Python inst. wurde
-> Der im Installationsverzeichnis enthaltene Scripts Ordner in Pyhton
-> Der geckodriver
-> der webdriver
-> und den selenium Ordner im Lib Verzeichnis von Pyhton, was wir vorhin hinzugefügt haben.

Beendet danach alles mit OK.


selenium via pip installieren
Geht in euren Pyhton Ordner ( C:\Pyhton37), und gebt oben wo Ihr den Pfad rauskopieren könnt " cmd " ein !
[Only registered and activated users can see links. Click Here To Register...]
Bestätigt mit ENTER.

Es öffnet sich nun eine cmd, an der Position im Python Verzeichnis.
Tippt nun pip install -U selenium ein -> enter
[Only registered and activated users can see links. Click Here To Register...]

Selenium wird nun installiert.
( Jedoch ist die pip installation Fehlerhaft, weswegen wir vorher den selenium Ordner in das Lin Verzeichnis kopieren mussten !.

IDE ( PyCharm ) konfigurieren
Ladet euch die IDE PyCharm runter.

Öffnet sie ( beim ersten Start könnt Ihr das Theme etc einstellen ).


Bennent euer Project ( 1 ), und schaut, dass das Environment als intepreter C:\Python37\python.exe hat !
Falls euch dies nicht angezeigt wird, könnt Ihr auf die drei Punkte ( ... ) neben dem Input-Feld klicken, und euch die python.exe aus euren Installationsverzeichnis von Python holen.

[Only registered and activated users can see links. Click Here To Register...]


Nun dauert es kurz, bis das Environment geladen wurde.

Wenn alles fertig geladen wurde, geht unter File -> Settings -> Project Interpreter.

Hier muss wie vorhin eben, der Interpreter C:\Python37\python.exe sein (2).
Falls es das nicht ist, ändern bzw. manuell hinzufügen wie ich paar Sätze drüber gerade erklärt habe.

Hier sollte nun das package " selenium " vorhanden sein ! (3)


Ist es vorhanden drückt ok ( 4 )

[Only registered and activated users can see links. Click Here To Register...]


Manchmal kommt es vor, dass es nicht vorhanden ist, dann musst du es manuell adden.
Das geht über das " + " rechts davon.

[Only registered and activated users can see links. Click Here To Register...]
Ihr könnt auch andere Libs hinzufügen wie zB Requests oder BeatifulSoup etc. etc.


Selenium und Webdriver/Geckodrive testen

Habt Ihr alles richtig gemacht, kann es ab hier eigentlich keine Probleme mehr geben.

Öffnet ein neues Projekt.
Im neuen Project fügt Ihr ein neues Python Package hinzu.
Im Python Package fügt Ihr nun ein python file hinzu.
( Das __init__ file wird automatisch erzeugt. Wird aber in diesem Zusammenhang fürs testen der Funktionen nicht benötigt.

In euren Pyhton-file schreibt Ihr nun folgendes.
PHP Code:
# import webdriver from  selenium lib
from selenium import webdriver

#var decl.
#.Chrome() for the usage of Chrome
#.Firefox() for the usage of Firefox ( Geckodriver)
driver webdriver.Chrome()

#open an url
driver.get("https://www.elitepvpers.com/forum/"
Nun sollte sich epvp in einem Chrome Browser öffnen.

Ich nehme im Normalfall Chrome, da die Vergangenheit zeigte, dass Firefox mit neuen Updates nur Probleme macht.


Das wars nun eigentlich.
Falls euch Irgendetwas auffällt, was man verbessern könnte, oder ich iwo was zu verpixeln übersehen habe gebt mir bescheid.

Bei Fragen, einfach eine PN an mich oder sonstiges.

Lg
Mad0ck
09/06/2019 14:06 SchrottKopf#2
Schönes Tutorial, nur kann ich jeden von Selenium abraten der etwas richtiges programmiert.

Für kleine Privat anwendungen ist selenium grade so noch in ordnung.
09/06/2019 17:41 florian0#3
Quote:
Originally Posted by SchrottKopf View Post
Schönes Tutorial, nur kann ich jeden von Selenium abraten der etwas richtiges programmiert.

Für kleine Privat anwendungen ist selenium grade so noch in ordnung.
Und was ist deine Empfehlung wenns um Browser automation geht?
09/06/2019 18:13 Mad0ck#4
Quote:
Originally Posted by SchrottKopf View Post
Schönes Tutorial, nur kann ich jeden von Selenium abraten der etwas richtiges programmiert.

Für kleine Privat anwendungen ist selenium grade so noch in ordnung.
Kannte bzw. konnte damals noch nichts mit php im Browser machen.
Mittlerweile mach ich alles mit HtmlParser usw