From fbb1247ebf6460d68e26bc54205c36658b237225 Mon Sep 17 00:00:00 2001 From: Michael Reber Date: Thu, 14 Nov 2019 16:25:21 +0100 Subject: [PATCH] Python Code Optimizations --- energy-bot.py | 87 +++++++++++++++++---------------------------------- 1 file changed, 29 insertions(+), 58 deletions(-) diff --git a/energy-bot.py b/energy-bot.py index 2b6cf8e..da155a5 100644 --- a/energy-bot.py +++ b/energy-bot.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- from selenium import webdriver import time -#import gmail_nrg_code as nrg_code print("© 2019 Michael Reber . ALL RIGHTS RESERVED.") print("Created to win the endless energy game..") @@ -12,7 +11,7 @@ print("Patience you must have, my young padawan.") driver = webdriver.Chrome(executable_path=r"D:\Energy-Bot-2019\chromedriver.exe") driver.get("https://game.energy.ch/") -# assert "Energy" in driver.title + answers = [ ################################################################# @@ -51,41 +50,41 @@ answers = [ "Swisscom", # ---------------------------------------------- (WELCHES UNTERNEHMEN IST «PRESENTING PARTNER» DER ENERGY STAR NIGHT?) "Über 1'000'000", #Geraten --------------------------------- (WIE VIELE KUNDEN BESUCHEN LIPO JÄHRLICH?) "2003", # -------------------------------------------------- (WANN FAND DIE ENERGY STAR NIGHT (EHEMALS ENERGY STARS FOR FREE) ZUM ERSTEN MAL STATT?) - "Mark Forster", # ------------------------------------------ (WELCHER DIESER ACTS HATTE EINEN AUFTRITT AN DER ENERGY STAR NIGHT 2017?) + "Mark Forster", # ------------------------------------------ (WELCHER DIESER ACTS HATTE EINEN AUFTRITT AN DER ENERGY STAR NIGHT 2017?) "Um 19:00 Uhr", # ------------------------------------------ (WANN IST KONZERTBEGINN DER ENERGY STAR NIGHT?) "Reinach (Kanton Basel)", # -------------------------------- (IN WELCHER STADT ERÖFFNETE 1976 DIE ERSTE LIPO FILIALE DER SCHWEIZ?) "Energy Star Night 2017", # -------------------------------- (WELCHE AUSGABE DER ENERGY STAR NIGHT WURDE ZULETZT AUF PRO7 SCHWEIZ ÜBERTRAGEN?) "14'000", # ------------------------------------------------ (WIE VIELE ENERGY STAR NIGHT TICKETS WERDEN VERLOST?) "Graubünden",# --------------------------------------------- - "Jastina Doreen, Ex-Miss Schweiz", # ----------------------- (WEN KÜSSTE ENERGY MODERATOR JONTSCH AN DER LETZTJÄHRIGEN ENERGY STAR NIGHT?) - "3", # ----------------------------------------------------- (WIE VIELE ENERGY MUSIC AWARDS (IN ZUSAMMENARBEIT MIT DEM SCHWEIZERISCHEN ROTEN KREUZ) WURDEN BISHER VERLIEHEN?) - "gewinnen", # ---------------------------------------------- (ENERGY STAR NIGHT TICKETS KANN MAN AUSSCHLIESSLICH…) + "Jastina Doreen, Ex-Miss Schweiz", # ----------------------- (WEN KÜSSTE ENERGY MODERATOR JONTSCH AN DER LETZTJÄHRIGEN ENERGY STAR NIGHT?) + "3", # ----------------------------------------------------- (WIE VIELE ENERGY MUSIC AWARDS (IN ZUSAMMENARBEIT MIT DEM SCHWEIZERISCHEN ROTEN KREUZ) WURDEN BISHER VERLIEHEN?) + "gewinnen", # ---------------------------------------------- (ENERGY STAR NIGHT TICKETS KANN MAN AUSSCHLIESSLICH…) "Die fünfzehnte", # Dieses Jahr ist die 17 Energy Star Night! "Energy Stars For Free", # --------------------------------- (DIE ENERGY STAR NIGHT HIESS EHEMALS...) "dem Schweizerischen Roten Kreuz",# ------------------------ (DER ENERGY MUSIC AWARD WIRD JEWEILS IN ZUSAMMENARBEIT MIT ... VERLIEHEN?) - "Ein Schweizer Musikpreis", # ------------------------------ (WAS IST DER ENERGY MUSIC AWARD?) - "Energy Star Night findet trotzdem statt", # --------------- - "Möbel", # ------------------------------------------------- (WAS KANN MAN BEI LIPO KAUFEN?) - "Oktober 2016", # ------------------------------------------ (WANN WURDE ENERGY STARS FOR FREE IN ENERGY STAR NIGHT UMBENANNT?) - "Stefanie Heinzmann", # ------------------------------------ (WELCHER ACT ERÖFFNETE DIE ENERGY STAR NIGHT 2018?) - "Usgang.ch", # --------------------------------------------- (WELCHES UNTERNEHMEN IST «MEDIENPARTNER» DER ENERGY STAR NIGHT 2019?) - "im Radio, auf der Event-Website und über Social Media", # - (WO ERFÄHRST DU IMMER DIE NEUSTEN INFOS RUND UM DIE ENERGY STAR NIGHT?) - "Vorhänge individuell konfigurieren", # -------------------- (WAS VERSTECKT SICH HINTER DEM BEGRIFF «MASSDESIGN» BEI LIPO?) - "Orange", # ------------------------------------------------ (WELCHE FARBE HAT DAS LIPO LOGO?) - "das grösste Indoor Musik-Event der Schweiz", # ------------ (DIE ENERGY STAR NIGHT IST…) - "22", # ---------------------------------------------------- (AN WIE VIELEN STANDORTEN BIETET LIPO AKTUELL ALLES AN, WAS ES ZUM WOHNEN BRAUCHT) - "22. November 2019", # ------------------------------------- (WANN FINDET DIE ENERGY STAR NIGHT 2019 STATT?) - "Postkarte", # --------------------------------------------- (AUF WELCHEM WEG KANN MAN KEINE ENERGY STAR NIGHT TICKETS GEWINNEN?) - "Hallenstadion, Zürich", # --------------------------------- (IN WELCHER EVENTLOCATION FINDET DIE ENERGY STAR NIGHT STATT?) - "«The Game Is On»", #Geraten ------------------------------- (WIE LAUTETE DAS MOTTO DER ENERGY STAR NIGHT 2018?) - "Hiltl Club, Zürich",# ------------------------------------- - "Nemo", # -------------------------------------------------- (WELCHER SCHWEIZER ACT RÄUMTE DEN ENERGY MUSIC AWARD 2018 AB?) - "VIP", # --------------------------------------------------- (WELCHE TICKETKATEGORIE WIRD NICHT FÜR DIE ENERGY STAR NIGHT VERLOST?) - "Winterthur und Villeneuve", #Geraten ---------------------- (IN WELCHEN BEIDEN STÄDTEN ERÖFFNET LIPO AM 22. NOVEMBER 2019 JEWEILS EINE NEUE FILIALE?) - "Die tiefsten Preise der Schweiz", # ----------------------- (WAS GARANTIERT LIPO SEINEN KUNDEN?) - "#esn19", # ------------------------------------------------ (WIE LAUTET DER OFFIZIELLE HASHTAG DER ENERGY STAR NIGHT 2019?) - "Twitter", # ----------------------------------------------- (AUF WELCHER SOCIAL MEDIA PLATTFORM KANN MAN KEINE ENERGY STAR NIGHT TICKETS GEWINNEN?) - "Mex" #Geraten --------------------------------------------- (WIE HEISST DER HUND IM AKTUELLEN WERBESPOT?) + "Ein Schweizer Musikpreis", # ------------------------------ (WAS IST DER ENERGY MUSIC AWARD?) + "Energy Star Night findet trotzdem statt", # --------------- + "Möbel", # ------------------------------------------------- (WAS KANN MAN BEI LIPO KAUFEN?) + "Oktober 2016", # ------------------------------------------ (WANN WURDE ENERGY STARS FOR FREE IN ENERGY STAR NIGHT UMBENANNT?) + "Stefanie Heinzmann", # ------------------------------------ (WELCHER ACT ERÖFFNETE DIE ENERGY STAR NIGHT 2018?) + "Usgang.ch", # --------------------------------------------- (WELCHES UNTERNEHMEN IST «MEDIENPARTNER» DER ENERGY STAR NIGHT 2019?) + "im Radio, auf der Event-Website und über Social Media", # - (WO ERFÄHRST DU IMMER DIE NEUSTEN INFOS RUND UM DIE ENERGY STAR NIGHT?) + "Vorhänge individuell konfigurieren", # -------------------- (WAS VERSTECKT SICH HINTER DEM BEGRIFF «MASSDESIGN» BEI LIPO?) + "Orange", # ------------------------------------------------ (WELCHE FARBE HAT DAS LIPO LOGO?) + "das grösste Indoor Musik-Event der Schweiz", # ------------ (DIE ENERGY STAR NIGHT IST…) + "22", # ---------------------------------------------------- (AN WIE VIELEN STANDORTEN BIETET LIPO AKTUELL ALLES AN, WAS ES ZUM WOHNEN BRAUCHT) + "22. November 2019", # ------------------------------------- (WANN FINDET DIE ENERGY STAR NIGHT 2019 STATT?) + "Postkarte", # --------------------------------------------- (AUF WELCHEM WEG KANN MAN KEINE ENERGY STAR NIGHT TICKETS GEWINNEN?) + "Hallenstadion, Zürich", # --------------------------------- (IN WELCHER EVENTLOCATION FINDET DIE ENERGY STAR NIGHT STATT?) + "«The Game Is On»", #Geraten ------------------------------- (WIE LAUTETE DAS MOTTO DER ENERGY STAR NIGHT 2018?) + "Hiltl Club, Zürich",# ------------------------------------- + "Nemo", # -------------------------------------------------- (WELCHER SCHWEIZER ACT RÄUMTE DEN ENERGY MUSIC AWARD 2018 AB?) + "VIP", # --------------------------------------------------- (WELCHE TICKETKATEGORIE WIRD NICHT FÜR DIE ENERGY STAR NIGHT VERLOST?) + "Winterthur und Villeneuve", #Geraten ---------------------- (IN WELCHEN BEIDEN STÄDTEN ERÖFFNET LIPO AM 22. NOVEMBER 2019 JEWEILS EINE NEUE FILIALE?) + "Die tiefsten Preise der Schweiz", # ----------------------- (WAS GARANTIERT LIPO SEINEN KUNDEN?) + "#esn19", # ------------------------------------------------ (WIE LAUTET DER OFFIZIELLE HASHTAG DER ENERGY STAR NIGHT 2019?) + "Twitter", # ----------------------------------------------- (AUF WELCHER SOCIAL MEDIA PLATTFORM KANN MAN KEINE ENERGY STAR NIGHT TICKETS GEWINNEN?) + "Mex" #Geraten --------------------------------------------- (WIE HEISST DER HUND IM AKTUELLEN WERBESPOT?) ] def press_answer(quest_nr): @@ -106,8 +105,6 @@ def press_answer(quest_nr): question_Nr = 0 counter = 0 input("Press to enter script") -#print("Enter Phone Nr: (do not enter starting '0'!) Example: 798765432") -#tel_nr = int(input("+41")) print("Enter Your Energy Registered Account Email:") account_mail = input("Email: ") @@ -133,12 +130,6 @@ while True: except: try: try: - #elem3 = driver.find_elements_by_xpath("//input[@placeholder='Handynummer']")[0] - #elem3.send_keys(tel_nr) - - #elem1 = driver.find_elements_by_xpath("//button[@class='btn btn-primary game-button btn-lg']")[0] - #elem1.click() - try: energyLogin = driver.find_elements_by_xpath("//input[@name='email']")[0] energyLogin.send_keys(account_mail) @@ -152,31 +143,11 @@ while True: elem4.click() except: pass - - #found_mail = False - #while found_mail is False: - # sms_code = nrg_code.main() - # if sms_code is not None: - # found_mail = True - # print(sms_code + "....................................................") - # code_numb_list = [] - # for numb in sms_code: - # code_numb_list.append(numb) - # driver.find_elements_by_xpath("//input[@id='1']")[0].send_keys(code_numb_list[0]) - # driver.find_elements_by_xpath("//input[@id='2']")[0].send_keys(code_numb_list[1]) - # driver.find_elements_by_xpath("//input[@id='3']")[0].send_keys(code_numb_list[2]) - # driver.find_elements_by_xpath("//input[@id='4']")[0].send_keys(code_numb_list[3]) - # elem1 = \ - # driver.find_elements_by_xpath( - # "//button[@class='btn btn-primary game-button btn-lg btn-declined']")[0] - # elem1.click() - # else: - # time.sleep(5) except: pass elem1 = driver.find_elements_by_xpath("//button[@class='btn btn-primary game-button btn-lg']")[0] elem1.click() - + except: pass question_Nr = 0