bertrandda / par-ici-tennis

Book Paris tennis court (include CAPTCHA bypass)
MIT License
13 stars 8 forks source link

not working anymore #4

Open nelso0 opened 1 year ago

nelso0 commented 1 year ago

It's not working because the await page.click(bookSlotButton) doesn't work, it doesn't click on "réserver"

bertrandda commented 1 year ago

I just try, it works correctly. Can you tell me more about your environment (OS, nodejs version...), and share your config.json (without your account email/password)?

GonzagueD commented 1 year ago

Hello Bertrand, merci pour ton script, je l'ai un peu testé il s'arrete systématiquement à 2023-09-05T21:45:14+02:00 - Failed to find reservation for XXXX

J'ai essayé de comprendre pourquoi mais je ne trouve pas la solution, any idea, je suis Node [18.17.1 LTS] sur windows 10 JE pense que mon fichier config est bon aussi, j'ai essayé de debug ton script en analysant les requetes et j'ai l'impression qu'il tombe bien sur la page dont le header est Paris | TENNIS - Reservation

JE reste bien sur à dispo

bertrandda commented 12 months ago

Je n'ai jamais essayé sur windows mais ça m'étonnerai que ce soit ça qui pose problème. "Failed to find reservation for..." veut juste dire qu'il ne trouve pas d'horaire disponible pour les courts choisis.

Tu peux essayer de le relancer en changeant la ligne qui contient chromium.launch

const browser = await chromium.launch({ headless: false, slowMo: 500, timeout: 120000 })

Puis tu lances le script. Au lieu de lancer le script en arrière plan, headless: false va te permettre de voir le navigateur s'afficher et évoluer tu pourras ainsi voir ce qu'il se passe (le slowmo permet de ralentir le programme pour que tu ai le temps de voir)

Si tu me confirmes que tu vois bien des créneaux de disponible et que le script n'arrive pas à réserver je peux investiguer un peu plus. Peux tu me transmettre tes config locations, date, hours, priceType, courtType et j'essaierai de trouver un windows pour tester.

GonzagueD commented 12 months ago

Hello, merci pour ton retour, j'ai pu débugger ton fichier. L'erreur venait du fait que j'avais la gratuité des tennis. donc il fallait changer le priceType dans le fichier config. Cependant le code s'est arrêté au moment du pop up du captcha. Peut-être que ton bot est desormais limité par le captcha ? Je suis disponible si tu veux faire des tests ou si du as besoin d'info supplémentaires. Bonne soirée

Le lun. 25 sept. 2023 à 23:02, bertrandda @.***> a écrit :

Je n'ai jamais essayé sur windows mais ça m'étonnerai que ce soit ça qui pose problème. "Failed to find reservation for..." veut juste dire qu'il ne trouve pas d'horaire disponible pour les courts choisis.

Tu peux essayer de le relancer en changeant la ligne qui contient chromium.launch

const browser = await chromium.launch({ headless: false, slowMo: 500, timeout: 120000 })

Puis tu lances le script. Au lieu de lancer le script en arrière plan, headless: false va te permettre de voir le navigateur s'afficher et évoluer tu pourras ainsi voir ce qu'il se passe (le slowmo permet de ralentir le programme pour que tu ai le temps de voir)

Si tu me confirmes que tu vois bien des créneaux de disponible et que le script n'arrive pas à réserver je peux investiguer un peu plus. Peux tu me transmettre tes config locations, date, hours, priceType, courtType et j'essaierai de trouver un windows pour tester.

— Reply to this email directly, view it on GitHub https://github.com/bertrandda/par-ici-tennis/issues/4#issuecomment-1734458443, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL3R7JS7B4CNSUNTMSBGSI3X4HWP5ANCNFSM6AAAAAAZQJZH2M . You are receiving this because you commented.Message ID: @.***>

nelso0 commented 12 months ago

Comment ça la gratuité des tennis ?

Le lun. 25 sept. 2023 à 23:27, GonzagueD @.***> a écrit :

Hello, merci pour ton retour, j'ai pu débugger ton fichier. L'erreur venait du fait que j'avais la gratuité des tennis. donc il fallait changer le priceType dans le fichier config. Cependant le code s'est arrêté au moment du pop up du captcha. Peut-être que ton bot est desormais limité par le captcha ? Je suis disponible si tu veux faire des tests ou si du as besoin d'info supplémentaires. Bonne soirée

Le lun. 25 sept. 2023 à 23:02, bertrandda @.***> a écrit :

Je n'ai jamais essayé sur windows mais ça m'étonnerai que ce soit ça qui pose problème. "Failed to find reservation for..." veut juste dire qu'il ne trouve pas d'horaire disponible pour les courts choisis.

Tu peux essayer de le relancer en changeant la ligne qui contient chromium.launch

const browser = await chromium.launch({ headless: false, slowMo: 500, timeout: 120000 })

Puis tu lances le script. Au lieu de lancer le script en arrière plan, headless: false va te permettre de voir le navigateur s'afficher et évoluer tu pourras ainsi voir ce qu'il se passe (le slowmo permet de ralentir le programme pour que tu ai le temps de voir)

Si tu me confirmes que tu vois bien des créneaux de disponible et que le script n'arrive pas à réserver je peux investiguer un peu plus. Peux tu me transmettre tes config locations, date, hours, priceType, courtType et j'essaierai de trouver un windows pour tester.

— Reply to this email directly, view it on GitHub < https://github.com/bertrandda/par-ici-tennis/issues/4#issuecomment-1734458443>,

or unsubscribe < https://github.com/notifications/unsubscribe-auth/AL3R7JS7B4CNSUNTMSBGSI3X4HWP5ANCNFSM6AAAAAAZQJZH2M>

. You are receiving this because you commented.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/bertrandda/par-ici-tennis/issues/4#issuecomment-1734487453, or unsubscribe https://github.com/notifications/unsubscribe-auth/AU4OAFY2HX5XHSD3PZ6CGTDX4HZNXANCNFSM6AAAAAAZQJZH2M . You are receiving this because you authored the thread.Message ID: @.***>

bertrandda commented 12 months ago

Je pense qu'il parle des tarifs spéciaux si tu es chercheur d'emploi... tu peux voir la liste des conditions pour y avoir accès sur ton compte Paris tennis, dans l'onglet Mon tarif.

@GonzagueD normalement l'un des dernier commit permet de passer le captcha. Je viens de ressayer sur un mac ça fonctionne toujours. Tu es sûr que c'est au niveau du captcha que ça bloque ? T'est il possible d'attendre l'arrêt automatique du script (au bout de 2 minutes) et de me donner le message d'erreur qui apparait s'il te plait ?

GonzagueD commented 12 months ago

Hello Bertrand, Effectivement c’était lié à mon tarif, avec un bug au moment de la page de paiement vu que ce n’est pas nécessaire avec la gratuité. Ça marche nickel merci beaucoup pour ce beau travail ! J’ai remarqué qu’il y avait un captcha à 8h avant de faire une recherche, aucun pb pour le bot?

Le mar. 26 sept. 2023 à 09:17, bertrandda @.***> a écrit :

Je pense qu'il parle des tarifs spéciaux si tu es chercheur d'emploi... tu peux voir la liste des conditions pour y avoir accès sur ton compte Paris tennis, dans l'onglet Mon tarif.

@GonzagueD https://github.com/GonzagueD normalement l'un des dernier commit permet de passer le captcha. Je viens de ressayer sur un mac ça fonctionne toujours. Tu es sûr que c'est au niveau du captcha que ça bloque ? T'est il possible d'attendre l'arrêt automatique du script (au bout de 2 minutes) et de me donner le message d'erreur qui apparait s'il te plait ?

— Reply to this email directly, view it on GitHub https://github.com/bertrandda/par-ici-tennis/issues/4#issuecomment-1734966351, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL3R7JTB2ZA3BD23G4JCLA3X4J6QBANCNFSM6AAAAAAZQJZH2M . You are receiving this because you were mentioned.Message ID: @.***>

nelso0 commented 12 months ago

Pour moi, je n'arrive pas à le faire fonctionner. Tout se lance parfaitement mais lorsqu'il cherche pour les terrains, lorsque il y a des réservations disponibles, il met "Failed to find reservation..", et lorsqu'il n'y en a aucune dispo, il reste indéfiniment sur "Searching at.."

2023-09-26T10:11:44+02:00 - Starting searching tennis

2023-09-26T10:11:44+02:00 - Browser started

2023-09-26T10:11:46+02:00 - User connected

2023-09-26T10:11:47+02:00 - Search at Candie

2023-09-26T10:11:50+02:00 - Failed to find reservation for Candie

2023-09-26T10:11:50+02:00 - Search at Philippe Auguste

2023-09-26T10:11:53+02:00 - Failed to find reservation for Philippe Auguste

2023-09-26T10:11:53+02:00 - Search at Thiéré

Puis, "error timeout" bien sûr

Voici le log, ici il n'y en a pas pour Thiéré, mais pour Candie et Philippe Auguste si. Je suis en tarif réduit donc c'est peut-être ça ?

Message ID: @.***>

bertrandda commented 12 months ago

@GonzagueD c'est uniquement à 8h le captcha avant la recherche ? en effet ça risque de poser problème faut que j'étudie une solution si c'est confirmé. Merci de l'avoir signalé

@nelso0 pour ton problème peux tu essayer de relancer le script en mettant headless à false comme j'ai décris ici https://github.com/bertrandda/par-ici-tennis/issues/4#issuecomment-1734458443. Ça te permettra d'essayer de voir ce qui pourrait bloquer. Quand tu dis que tu es tarif réduit, c'est tarif réduit avant 11h en semaine ou tarif réduit -26 ans ? Vérifie que dans la config les priceType et courtType sont compatibles avec les courts et les horaires que tu as sélectionnés.

GonzagueD commented 12 months ago

J’ai remarqué ça ce matin qu’il y avait un captcha vers 8h au moment où j’ai lancé le bot car je voulais essayer de me réserver un tennis en cas d’échec du bot. J’ai pu réserver mon tennis grâce au bot mais j’ai préféré faire remonter l’info

Le mar. 26 sept. 2023 à 22:32, bertrandda @.***> a écrit :

@GonzagueD https://github.com/GonzagueD c'est uniquement à 8h le captcha avant la recherche ? en effet ça risque de poser problème faut que j'étudie une solution si c'est confirmé. Merci de l'avoir signalé

@nelso0 https://github.com/nelso0 pour ton problème peux tu essayer de relancer le script en mettant headless à false comme j'ai décris ici #4 (comment) https://github.com/bertrandda/par-ici-tennis/issues/4#issuecomment-1734458443. Ça te permettra d'essayer de voir ce qui pourrait bloquer. Quand tu dis que tu es tarif réduit, c'est tarif réduit avant 11h en semaine ou tarif réduit -26 ans ? Vérifie que dans la config les priceType et courtType sont compatibles avec les courts et les horaires que tu as sélectionnés.

— Reply to this email directly, view it on GitHub https://github.com/bertrandda/par-ici-tennis/issues/4#issuecomment-1736252137, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL3R7JWXAYGQCOHARXXJXSTX4M3VBANCNFSM6AAAAAAZQJZH2M . You are receiving this because you were mentioned.Message ID: @.***>

nelso0 commented 12 months ago

@bertrandda même en head je vois tout se passer très vite, aucune erreur, mais il me met bien qu'il n'arrive pas à trouver une reservation alors qu'il y en a une de dispo, j'ai bien mis tarif réduit découvert dans la config, et je n'ai pas de réservation en cours...

nelso0 commented 12 months ago

Je suis en -26 ans

Repie1806 commented 6 months ago

@bertrandda : Bonjour, serait-il possible de modifier le code pour ajouter une date automatique = date du jour + 6 jours ?

kxzro commented 2 months ago

Bonjour, le script fonctionnait bien depuis plusieurs mois et j'ai désormais l'erreur suivante :

2024-07-07T22:05:06+02:00 - Starting searching tennis 2024-07-07T22:05:06+02:00 - Browser started node:internal/process/promises:289 triggerUncaughtException(err, true / fromPromise /); ^

page.waitForEvent: Timeout 120000ms exceeded while waiting for event "popup"

bertrandda commented 2 months ago

Bonjour, le script fonctionnait bien depuis plusieurs mois et j'ai désormais l'erreur suivante :

2024-07-07T22:05:06+02:00 - Starting searching tennis 2024-07-07T22:05:06+02:00 - Browser started node:internal/process/promises:289 triggerUncaughtException(err, true / fromPromise /); ^

page.waitForEvent: Timeout 120000ms exceeded while waiting for event "popup"

Bonjour, en effet la mairie de Paris a changé récemment la page d'authentification. J'ai mis à jour le script en conséquence il y a quelques jours. Peux tu réessayer avec cette dernière version et me dire si ça règle ton problème s'il te plait ? Pour information j'ai ajouté une commande pour tester le fonctionnement du script et ta configuration sans pour autant réaliser la réservation ça te permettra de vérifier que tout est rentré dans l'ordre, c'est npm run start-dry

kxzro commented 2 months ago

Effectivement ! Merci pour le rapide feedback, le nouveau code fonctionne :)

kxzro commented 2 months ago

Après test en réel, le dry run fonctionne mais la réservation a échoué ce matin à 8h (cf logs) stdout.log

vsteenbr commented 1 month ago

Bonjour, je crois que la mairie de Paris a mis en place un nouveau patch, le code ne fonctionne plus pour ma part

bertrandda commented 1 month ago

En effet, il semblerai qu'ils aient mis à jour la partie captcha, et le contournement trouvé ne fonctionne plus. Je vais essayer de trouver une nouvelle solution mais ça se complique

bertrandda commented 1 month ago

J'ai tenté quelque chose en utilisant un modèle présent sur huggingface, ça fonctionne assez bien même si ce n'est pas parfait. Si vous voulez essayer c'est sur la branche feat/ai-resolve-captcha. La PR associée https://github.com/bertrandda/par-ici-tennis/pull/7

vsteenbr commented 3 weeks ago

Bonjour,

Merci beaucoup ça à l'air de bien fonctionner ! J'ai juste une question supplémentaire concernant les clubs dont le nom contient un caractère avec accent (ex : Paul Ladoumègue), y a t'il un moyen de les renseigner dans le JSON pour que le script fonctionne avec ces clubs ?

Merci encore,

Victor Steenbrink

Le lun. 5 août 2024 à 22:10, bertrandda @.***> a écrit :

J'ai tenté quelque chose en utilisant un modèle présent sur huggingface, ça fonctionne assez bien même si ce n'est pas parfait. Si vous voulez essayer c'est sur la branche feat/ai-resolve-captcha

— Reply to this email directly, view it on GitHub https://github.com/bertrandda/par-ici-tennis/issues/4#issuecomment-2269830890, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARTNQPATBPMZFYHA73OULWTZP7LZXAVCNFSM6AAAAAAZQJZH2OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRZHAZTAOBZGA . You are receiving this because you commented.Message ID: @.***>

bertrandda commented 2 weeks ago

J'ai juste une question supplémentaire concernant les clubs dont le nom contient un caractère avec accent (ex : Paul Ladoumègue), y a t'il un moyen de les renseigner dans le JSON pour que le script fonctionne avec ces clubs ?

Normalement ça fonctionne même avec les accents. J'ai l'impression que tu te trompes de nom d'ailleurs, peux tu essayer avec Jules Ladoumègue s'il te plait ?

chaudronalex commented 1 week ago

Hello ! Tout d'abord, merci énormément pour ce script de qualité !

J'ai le même problème de mon côté avec les accents (j'ai bien vérifié qu'il s'agissait des bons noms de Tennis, que ce soit le Jules Ladoumègue, Thiéré ou Max Rousié)

bertrandda commented 1 week ago

Alors en effet en essayant avec Thiéré et Max Rousié ça plante sur l'accent final, je vais essayer de corriger ça. Par contre de mon côté ça fonctionne bien avec Jules Ladoumègue 🤔 . Vous pouvez essayer de relancer le script avec "Jules Ladoumègue" en attendant le timeout du script (2 minutes), normalement un screenshot du navigateur est généré en cas d'erreur, il se trouve dans le dossier img/ du projet, vous pouvez le mettre ici en ajoutant également les logs s'il vous plait ?

bertrandda commented 1 week ago

Je viens de mettre à jour la PR en cours (#7) avec un petit fix pour les accents. Pouvez vous tester et me confirmer que ça fonctionne maintenant chez vous aussi @vsteenbr @chaudronalex ?