Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2 Termine verfügbar - 1x außerhalb Zeitspanne, 1x innerhalb - falscher Termin wird gebucht (Selenium Terminwahl) #405

Open
apeltzer opened this issue Jun 9, 2021 · 3 comments
Labels
enhancement New feature or request

Comments

@apeltzer
Copy link
Contributor

apeltzer commented Jun 9, 2021

Discussion schon auf Slack, aber hier zusammenfassung:

Zeitrahmen:

 "zeitrahmen": {
  21   │         "einhalten_bei": "1",
  22   │         "von_datum": "11.06.2021"
  23   │     },

Buchungs log:

2021-06-09 18:52:18.585   impfterminservice   [war] [XXXXX]   Termin gefunden - jedoch nicht im entsprechenden Zeitraum:
2021-06-09 18:52:18.586   impfterminservice   [inf] [XXXXX]   --------------------------------------------------
2021-06-09 18:52:18.586   impfterminservice   [war] [XXXXX]   'Zentrales Impfzentrum XXXXX' in XXXXX XXXXX
2021-06-09 18:52:18.587   impfterminservice   [war] [XXXXX]   1. Termin: 10.06.2021 um 20:30 Uhr
2021-06-09 18:52:18.587   impfterminservice   [war] [XXXXX]   2. Termin: 22.07.2021 um 08:30 Uhr
2021-06-09 18:52:18.587   impfterminservice   [inf] [XXXXX]   --------------------------------------------------
2021-06-09 18:52:18.587   impfterminservice   [suc] [XXXXX]   Termin gefunden!
2021-06-09 18:52:18.588   impfterminservice   [suc] [XXXXX]   'Zentrales Impfzentrum XXXXX' in XXXXX XXXXX
2021-06-09 18:52:18.588   impfterminservice   [suc] [XXXXX]   1. Termin: 12.06.2021 um 06:30 Uhr
2021-06-09 18:52:18.588   impfterminservice   [suc] [XXXXX]   2. Termin: 24.07.2021 um 14:10 Uhr
2021-06-09 18:52:18.588   impfterminservice   [inf] [XXXXX]   Browser-Cookies generieren
2021-06-09 18:52:21.852   impfterminservice   [inf] [XXXXX]   Vermittlungscode eintragen und Mausbewegung / Klicks simulieren. Dieser Vorgang kann einige Sekunden dauern.
2021-06-09 18:52:23.689   impfterminservice   [err] [XXXXX]   Cookies können nicht generiert werden: Message:
2021-06-09 18:52:23.690   impfterminservice   [inf] [XXXXX]   Starte zweiten Versuch über Selenium ...
2021-06-09 18:52:23.690   impfterminservice   [inf] [XXXXX]   Termin über Selenium buchen
2021-06-09 18:52:26.379   impfterminservice   [inf] [XXXXX]   Vermittlungscode eintragen und Mausbewegung / Klicks simulieren. Dieser Vorgang kann einige Sekunden dauern.
2021-06-09 18:52:55.458   impfterminservice   [suc] [XXXXX]   Termin erfolgreich gebucht!

Gebucht wurde dann der am 10.06., obwohl der am 12.06. perfekt laut Zeitrahmen gepasst hätte - der andere jedoch eigentlich nicht. War jetzt nicht weiter schlimm hier, aber könnte bei anderen (und größeren / unpassenderen Abständen) kritischer sein.

@timreibe
Copy link
Owner

timreibe commented Jun 9, 2021

Lösung: Selenium-Buchung anpassen, Eingrenzen der Terminwahl anhand Datum in HTML-Container

@sinun98
Copy link
Collaborator

sinun98 commented Jun 9, 2021

Alternativ anhand der Response auswählen:

{
   "gesuchteLeistungsmerkmale":[
      "L923"
   ],
   "termine":[
      [
         {
            "slotId":"slot-785b5a92-12ae-4a61-a2c6-50111dd5fae2",
            "begin":1623091501000,
            "bsnr":"005221410"
         }
      ],
      [
         {
            "slotId":"slot-38f01d05-68df-4d4f-b047-8fdbbb80d59a",
            "begin":1623175501000,
            "bsnr":"005221410"
         }
      ],
      [
         {
            "slotId":"slot-f5b1ee15-1e45-4ddd-b750-f536c881ea66",
            "begin":1623245701000,
            "bsnr":"005221410"
         }
      ]
   ],
   "termineTSS":[
      
   ],
   "praxen":{
      "005221410":{
         "label":"KIZ Wolpertshausen",
         "kv":"kv.digital GmbH",
         "languages":null,
         "lat":49.16964,
         "lon":9.848989999999999,
         "distance":0.0,
         "street":"Bildäckerstraße 2",
         "plz":"74549",
         "city":"Wolpertshausen",
         "bf":[
            ""
         ],
         "web":"",
         "phone":"",
         "comment":""
      }
   }
}

Ist bei der Terminauswahl dann label[1] , label[2]....

//*[@id="itsSearchAppointmentsModal"]/div/div/div[2]/div/div/form/div[1]/div[2]/label[1]/div[2]/div
//*[@id="itsSearchAppointmentsModal"]/div/div/div[2]/div/div/form/div[1]/div[2]/label[2]/div[2]/div
//*[@id="itsSearchAppointmentsModal"]/div/div/div[2]/div/div/form/div[1]/div[2]/label[3]/div[2]/div

@haslersn
Copy link
Contributor

haslersn commented Jun 10, 2021

An selenium_termin_buchen wird die reservierung übergeben und das ist ein dict, das einen Key "terminpaar" enthält. Dieses Terminpaar hat die übliche Form (siehe unten) und sollte (wird aber noch nicht) von selenium_termin_buchen beachtet werden.

[
    {
        "slotId": "slot-56817da7-3f46-4f97-9868-30a6ddabcdef",
        "begin": 1616999901000,
        "bsnr": "005221080"
    },
    {
        "slotId": "slot-d29f5c22-384c-4928-922a-30a6ddabcdef",
        "begin": 1623999901000,
        "bsnr": "005221080"
    }
]

In selenium_termin_buchen erneut den Zeitrahmen zu prüfen wäre unerwünscht, weil selenium_termin_buchen dann wieder über das Konzept von Zeitrahmen usw. Bescheid wissen müsste. Aktuell wird aber einfach nur die gewünschte reservierung übergeben.

@timreibe timreibe added the enhancement New feature or request label Jun 17, 2021
@timreibe timreibe changed the title 2 Termine verfügbar - 1x außerhalb Zeitspanne, 1x innerhalb - falscher Termin wird gebucht 2 Termine verfügbar - 1x außerhalb Zeitspanne, 1x innerhalb - falscher Termin wird gebucht (Selenium Terminwahl) Jun 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants