Python Selenium XPath ändert sich manchmal, sodass nicht das richtige Element auf der Seite ausgewählt wirdPython

Python-Programme
Guest
 Python Selenium XPath ändert sich manchmal, sodass nicht das richtige Element auf der Seite ausgewählt wird

Post by Guest »

Also verwende ich Selenium, um regelmäßig etwas über eine Website zu buchen. Es ist geplant, die Reservierung am Dienstag für Mittwoch acht Tage später vorzunehmen.
Ich habe das Programm zur Ausführung gebracht, aber es wählt nicht das richtige Zeitfenster aus. Um es kurz zu machen: Der Administrator dessen, was ich planen möchte, geht schon vor dem Öffnen des Terminplaners vorbei und kann Zeitfenster reservieren. Was also passiert, ist die Verschiebung der Zeitfenster auf der Seite, und sobald sich der Planer für mich öffnet, wählt mein Programm ein Zeitfenster aus, an dem ich nicht interessiert bin, d. h. das Zeitfenster, das ich möchte, ist immer noch verfügbar, nur nicht jedes Mal am selben Ort .
Hier ist, was ich verwende, um das Zeitfenster zum Klicken zu identifizieren.

Code: Select all

driver.find_element(By.XPATH, '/html/body/main/div[4]/section/div[4]/div/div/div/div/div/div/div[3]/a[29]/div[1]').click()
Dies ist das Element, das sich ändert, */a[29]/*. Da sich die Zeitfenster verschieben, kann sich das gewünschte Zeitfenster um 18 Uhr ändern, sodass */a[]/div[1] nicht sinnvoll ist.
Hier ist das Element aktiviert die Seite

Code: Select all

[url=/account/reservations.html?resourceId=ZXhlcnA6MTk3YnI1ODAxOjcwMTU5MjgzNjI1MA==&start=2025-01-18T18:00:00-07:00&duration=30&cancelUrl=aHR0cHM6Ly9teS5saWZldGltZS5saWZlL2NsdWJzL2NvL2NvbG9yYWRvLXNwcmluZ3MvcmVzb3VyY2UtYm9va2luZy5odG1sP3Nwb3J0PVRlbm5pcyUzQSsrSW5kb29yK0NvdXJ0JmNsdWJJZD0xOTcmZGF0ZT0yMDI1LTAxLTE4JnN0YXJ0VGltZT0tMSZkdXJhdGlvbj0zMCZoaWRlTW9kYWw9dHJ1ZQ==]
6:00 PM

[/url]

Gibt es eine Möglichkeit, die Funktion „find_element“ zu verwenden, um gezielt das Zeitfenster um 18:00 Uhr zu finden?
Ich habe versucht, By.CLASS_NAME zu verwenden aber ich erhalte Fehlermeldungen. Ich vermute, dass mein Programm durch die Identifizierung der Klasse „timeslot-time“ nicht zwischen den verschiedenen Vorkommen dieser Klasse auf der Seite unterscheiden kann. Ganz zu schweigen davon, dass ich nicht sicher bin, wie ich diesen Kurs und das 18-Uhr-Zeitfenster identifizieren soll.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post