Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
skripting-section:div-skripts:energy-air-selenium-bot [2019/08/23 15:17] – [Sourcecode des selenium-Bots v2019] michael | skripting-section:div-skripts:energy-air-selenium-bot [2019/08/26 10:40] – [Das Betreiben des Botes] michael | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Energy Air selenium-Bot ====== | + | ====== Energy Air Selenium-Bot ====== |
- | Der folgende selenium-Bot wird verwenden, um das jährliche Energy Air Gewinnspiel voll-automatisiert zu gewinnen. Mithilfe einer App auf dem Android Phone wird das Authentication-Token SMS via Email weitergeleitet und vom Python Script eingelesen. Somit werden neue Sessions gleich nach Ablauf wieder erstellt. | + | Der folgende selenium-Bot wird verwenden, um das jährliche Energy Air Gewinnspiel voll-automatisiert zu gewinnen. Mithilfe einer App auf dem Android Phone wird das Authentication-Token |
- | ===== Vorgehen ===== | + | Das Script ist in Python3 geschrieben und wurde mit [[https:// |
- | ==== Vorbereitungen | ||
- | - | ||
- | ==== Das Ausführen | + | ===== Das Betreiben des Botes ===== |
- | < | + | Als Beispiel Installation, |
+ | |||
+ | <WRAP center box 100%> | ||
+ | ==== Vorbereitung und Installation ==== | ||
+ | |||
+ | === Vorbereitung 1 - Gmail Account API aktivieren und Label vorbereiten === | ||
+ | |||
+ | - Klicke auf [[https:// | ||
+ | - In der Gmail Inbox [[https:// | ||
+ | - Unter Einstellungen (oben rechts), zu " | ||
+ | - jhj | ||
+ | - Filter erstellen und auf das neu erstellte Label anwenden. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === Vorbereitung 2 - Smartphone SMS to Email App einrichten === | ||
+ | |||
+ | - Android App Installieren [[https:// | ||
+ | SMS an Mail / Telefon - automatische Umleitung]] | ||
+ | - Die App so konfigurieren, | ||
+ | - Achtung: Die App muss im Hintergrund offen bleiben, demnach die App nicht aus den " | ||
+ | |||
+ | <WRAP center round info 100%> | ||
+ | //<wrap em> | ||
+ | * Falls kein Android Smartphone vorhanden ist, kann ein entsprechendes App aus dem Appstore genutzt werden, welches SMS auf Mail umleitet. Die Regex um den Code im String zu finden muss dann jedoch entsprechend im gmail_nrg_code.py Script angepasst werden.\ | ||
+ | * Mögliche App: [[https:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | === Vorbereitung 3 - Einrichten des Bot Workspaces: === | ||
+ | |||
+ | - Installation vom **Python 3.7.4** - '' | ||
+ | - Energy Air Bot {{ : | ||
+ | - Neues unprivilegiertes **CMD-Fenster** öffnen und in den Projekt Ordner navigieren: (Win + R || " | ||
+ | # cd EnergyAir-Bot-2019</ | ||
+ | - Hier wird nun ein virtualenv für Python installiert: | ||
+ | # virtualenv venv</ | ||
+ | - Nach dem erfolgreichen vorbereiten des virtualenvs, | ||
+ | # pip install -r requirements.txt</ | ||
+ | - '' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === Erstmaliges Ausführen des Botes (Zur Berechtigung Gmail + setzen der Label ID) === | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | === Starten des Energy Air Botes === | ||
+ | |||
+ | Zum starten des Botes im Bot Verzeichnis "'' | ||
+ | |||
+ | < | ||
+ | |||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | <WRAP center box 100%> | ||
+ | ==== Bot erneut ausführen ==== | ||
+ | |||
+ | '' | ||
+ | |||
+ | < | ||
+ | d: | ||
cd EnergyAir-Bot-2019 | cd EnergyAir-Bot-2019 | ||
venv\Scripts\activate.bat | venv\Scripts\activate.bat | ||
Line 16: | Line 80: | ||
</ | </ | ||
- | ---- | + | **Beispiel: |
+ | <sxh PowerShell; gutter: false> | ||
+ | C: | ||
+ | D:\>cd EnergyAir-Bot-2019 | ||
+ | D: | ||
+ | (venv) D: | ||
+ | </ | ||
+ | |||
+ | </ | ||
===== Sourcecode des selenium-Bots v2019 ===== | ===== Sourcecode des selenium-Bots v2019 ===== | ||
- | <WRAP center round box 60%> | + | <WRAP center round download |
'' | '' | ||
- | * {{ : | + | * '' |
</ | </ | ||
Line 152: | Line 225: | ||
</ | </ | ||
+ | |||
+ | ---- | ||
==== Email Sender-code ==== | ==== Email Sender-code ==== | ||
Line 238: | Line 313: | ||
# main() | # main() | ||
############################################################################### | ############################################################################### | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Python requirements ==== | ||
+ | |||
+ | '' | ||
+ | <sxh bash;> | ||
+ | cachetools==3.1.1 | ||
+ | certifi==2019.6.16 | ||
+ | chardet==3.0.4 | ||
+ | google-api-python-client==1.7.11 | ||
+ | google-auth==1.6.3 | ||
+ | google-auth-httplib2==0.0.3 | ||
+ | google-auth-oauthlib==0.4.0 | ||
+ | httplib2==0.13.1 | ||
+ | idna==2.8 | ||
+ | oauthlib==3.1.0 | ||
+ | pyasn1==0.4.6 | ||
+ | pyasn1-modules==0.2.6 | ||
+ | requests==2.22.0 | ||
+ | requests-oauthlib==1.2.0 | ||
+ | rsa==4.0 | ||
+ | selenium==3.141.0 | ||
+ | six==1.12.0 | ||
+ | uritemplate==3.0.0 | ||
+ | urllib3==1.25.3 | ||
</ | </ |