Skip to content
This repository has been archived by the owner on Jul 9, 2024. It is now read-only.

Cookie improvements #166

Merged
merged 6 commits into from
May 27, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion main.py
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ def gen_code(kontaktdaten):
print("Falscheingabe! Bitte erneut versuchen:")

# cookies erneuern und code anfordern
its.renew_cookies()
its.renew_cookies_code()
token = its.code_anfordern(mail, telefonnummer, plz_impfzentrum, leistungsmerkmal)

if token is not None:
Expand Down
32 changes: 32 additions & 0 deletions tools/its.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,26 @@ def driver_renew_cookies(self, driver, plz_impfzentrum):
except:
return False

def driver_renew_cookies_code(self, driver, plz_impfzentrum):
self.driver_enter_code(driver, plz_impfzentrum)
self.log.warn(
"Du hast jetzt 10 Sekunden Zeit möglichst viele Elemente im Chrome Fenster anzuklicken. Das Fenster schließt sich automatisch.")
time.sleep(10)
# prüfen, ob Cookies gesetzt wurden und in Session übernehmen
try:
cookie = driver.get_cookie("bm_sz")
time.sleep(10)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sleep muss noch raus

if cookie:
self.s.cookies.clear()
self.s.cookies.update({"bm_sz": cookie.get("value")})
self.log.info("Browser-Cookie generiert: *{}".format(cookie.get("value")[-6:]))
return True
else:
self.log.error("Cookies können nicht erstellt werden!")
return False
except:
return False



def driver_book_appointment(self, driver, plz_impfzentrum):
Expand Down Expand Up @@ -432,6 +452,18 @@ def renew_cookies(self):
with self.get_chromedriver(headless=True) as driver:
return self.driver_renew_cookies(driver, choice(self.plz_impfzentren))

@retry_on_failure()
def renew_cookies_code(self):
"""
Cookies der Session erneuern, wenn sie abgelaufen sind.
:return:
"""

self.log.info("Browser-Cookies generieren")
with self.get_chromedriver(headless=False) as driver:
return self.driver_renew_cookies_code(driver, choice(self.plz_impfzentren))



@retry_on_failure()
def book_appointment(self):
Expand Down