impf-bot icon indicating copy to clipboard operation
impf-bot copied to clipboard

Timeout für die Termin-Reservierung zurücksetzen?

Open error-empire opened this issue 3 years ago • 4 comments

Moin zusammen! Erst mal vielen Dank für die tolle Software! 👏 Ich konnte darüber schon für zwei Personen Termine buchen! 😀 Was mir allerdings schon öfter aufgefallen ist: Der Timeout für die Terminreservierung startet bei nachfolgenden Anfragen (also der zweiten, dritten, vierten, etc. Impfzentrumsanfrage) nicht neu bei 10m, sondern lässt den "alten" Timer runterzählen bis er bei 0 Sekunden angekommen ist und startet erst danach neu. Dadurch entsteht die Situation, dass Termine nur noch wenige Minuten oder unter Umständen sogar nur wenige Sekunden verfügbar sind.

Besteht die Möglichkeit dieses Verhalten anzupassen? Z.B. Durch eine Skriptanpassung (indem beispielsweise nach jeder Suchanfrage der Browser neu gestartet wird) oder evtl. durch eine Browser-Einstellung im Chrome?

Viele Grüße Timo

error-empire avatar May 26 '21 06:05 error-empire

Ich habe mich das gleiche gefragt. Wenn ich manuell die Browserdaten lösche, dann beginnt der Timer wieder bei 10 Minuten. Durch googlen habe ich die folgenden Seiten gefunden:

  • https://www.browserstack.com/guide/how-to-handle-cookies-in-selenium
  • https://stackoverflow.com/questions/49614217/selenium-clear-chrome-cache

Meine Idee war es die Browserdaten am Beginn der MainPage::open() Funktion zu löschen. https://github.com/TobseF/impf-bot/blob/master/src/main/kotlin/de/tfr/impf/page/MainPage.kt#L12 Der Funktionsaufruf driver.manage().deleteAllCookies() hat leider nichts gebracht. Und die alternativen Methoden die beschrieben werden habe ich nicht umgesetzt bekommen, da ich mich mit Kotlin und Webprogrammierung nicht auskenne. Vlt bekommt es ja jemand anderes hin die Browserdaten automatisiert zu löschen.

Aber die Software ist schon richtig gut. Vielen Dank dafür :)

Ferrento avatar Jun 01 '21 20:06 Ferrento

Der Timer scheint nicht in den Cookies sondern in der Session Storage verankert zu sein. Es müsste eigentlich reichen etwa folgendes auszuführen:

var jsExecutor = driver as JavascriptExecutor;
jsExecutor.executeScript("sessionStorage.clear();")

Der Code müsste bspw. vor dem Thread.sleep am Ende der checkLocations Funktion in ReportJob.kt aufgenommen werden. Leider schaffe ich es nicht zeitnah einen PR anzulegen mit dem Change

schrotrf avatar Jun 02 '21 18:06 schrotrf

https://github.com/TobseF/impf-bot/pull/88 sollte euer problem lösen, ihr könntet den reset dann anders für euch konfigurieren

h0nIg avatar Jun 03 '21 06:06 h0nIg

IMHO der timer sagt nicht viel aus, ich bin mir unsicher ob das wirklich ein client seitiger check ist

image

h0nIg avatar Jun 03 '21 13:06 h0nIg