Web crawler / pilote web Selenium : comment automatiser des tâches répétitives d'accès à un site web

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
105
Mois de parution
novembre 2019
Spécialités


Résumé

Une tâche répétitive, qui peut s'avérer fastidieuse, se rencontre par exemple lorsqu'on doit exploiter le contenu d'un fichier fréquemment mis à jour et téléchargeable via un site web, nécessitant une navigation au travers de menus successifs ou bien lorsque l'on désire tester le comportement d'un site web. Un pilote web permet de contrôler un navigateur internet afin d'automatiser ces tâches ; les outils Selenium [1] fournissent une réponse à ce problème, au moyen d'une librairie disponible pour de nombreux langages (dont Java, Python, etc.) ou d'un IDE, permettant d'enregistrer une séquence d'actions exécutée dans le navigateur et de la rejouer, à la demande.


L'objectif de cet article est de montrer comment concevoir un pilote web capable de télécharger un fichier à partir d'un site web. Ayant développé une application permettant d'éditer un bulletin d'information contenant le programme des sorties organisées par un club de randonnée, les utilisateurs de cette application se plaignaient de devoir télécharger à plusieurs reprises, depuis le site internet du club, un fichier contenant les données saisies par les organisateurs des sorties. Le logiciel de saisie permet d'exporter ces données, mais la moindre correction du texte de la sortie par un organisateur nécessite de télécharger à nouveau les données pour modifier le bulletin, entraînant une nouvelle connexion au site avec identification et navigation dans divers menus, afin de générer une nouvelle version du bulletin.

Pour pallier cet inconvénient, l'application a été enrichie d'une classe PiloteWebProgramme chargée d'automatiser le téléchargement, comme...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Utilisez les énumérations en Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
115
Mois de parution
juillet 2021
Spécialités
Résumé

Il existe dans tout langage des éléments simples, pratiques, mais qui sont pourtant peu employés par les développeurs. En Python, les énumérations se retrouvent dans cette catégorie. Je vous propose dans cet article de découvrir leur intérêt.

Gérez vos projets Python avec Poetry

Magazine
Marque
GNU/Linux Magazine
Numéro
250
Mois de parution
juillet 2021
Spécialités
Résumé

« Un peu de poésie dans un monde de brutes », voilà ce que l'on pourrait se dire en lisant le nom de ce projet… pourtant, c'est à l'usage qu'il montre ses petits muscles et il vous deviendra rapidement indispensable !

Les bizarreries de l’isolation des IPC

Magazine
Marque
GNU/Linux Magazine
Numéro
250
Mois de parution
juillet 2021
Spécialités
Résumé

Le namespace IPC (Inter-Process Communication) isole les mécanismes de communication interprocessus (sémaphores, mémoire partagée et queues de messages) hérités d’UNIX Système V et bizarrement, seulement une partie de leurs pendants POSIX.

Des bots pour Discord

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
115
Mois de parution
juillet 2021
Spécialités
Résumé

T'as des bots, mon pote... Elles me bottent. Parfois simples lanceurs de dés ou générateurs de citations de films, les bots peuvent aussi être pensés comme de vrais outils d’automatisation. Qui n’a jamais eu envie de déployer en production avec un simple !deploy dans son outil de discussion d’équipe ? Venez découvrir comment le faire dans cet article !

Godot : tests unitaires et export Android

Magazine
Marque
GNU/Linux Magazine
Numéro
250
Mois de parution
juillet 2021
Spécialités
Résumé

Dans cette série d’articles [1] [2], nous avons découvert comment créer un jeu aussi complexe qu’un jeu d’aventure avec le moteur de jeu Godot. Dans cette dernière partie, nous verrons la finalisation du jeu : menu, tests et export.