Ben si. Quand tu fais for date in ... puis if date != ... tu peux très bien faire print(date, type(date)) entre les deux. C'est la base du debugging que d'afficher ses variables pour vérifier si leur valeur réelle correspond à la valeur testée.
Version imprimable
Non mais nous on part de ton code. Quand tu écris for date in driver.find_elements(By.XPATH, "//div[@class='datepicker-days']/table/tbody/tr/td[not(contains(@class, 'disabled'))]") on part du principe que tu as écrit cette instruction parce que tu savais ce que tu faisais. Si tu nous dis maintenant que tu ne sais pas récupérer les dates là on va te demander pourquoi tu as écrit cette boucle.
selenium peut executer du javascript => https://www.guru99.com/execute-javas...webdriver.html...
Je suis parti du principe que pour sélectionner une date dans un calendrier, on peut la sélectionner directement avec [etCitation:
xpath
. Mais quand on a un calendrier qui affiche des jours du mois précédent et d'autres du futur, c'est là qu'il faut écrire unCitation:
click()
pour les éliminer. En gardant que les jours du mois en cours, j'ai constaté que les dates disponibles n'apparaissent jamais, donc il n'y avait pas moyen de les localiser directement via leur attributs. Donc je me suis dit pourquoi ne pas sélectionner les dates indisponibles et ajouterCitation:
xpath customisé
pour avoir les dates disponibles. Les dates ne sont jamais la comment est-ce que le script va les localiser ?Code:not(contains(@class, 'disabled'))
En recherchant dans le forum, j'ai trouvé un poste pareil et c'est là que j'ai su que le datepicker est géré par du js. Voilà le poste
https://www.developpez.net/forums/d1...nt-formulaire/