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
|
Domaines


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.


La suite est réservée aux abonnés. Déjà abonné ? Se connecter

Sur le même sujet

Gestion de projets Python avec Pyenv et Pipenv : effet de mode ou solution efficace ?

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
106
|
Mois de parution
janvier 2020
|
Domaines
Résumé

Dans le cadre de développements Python, il y a deux éléments cruciaux : la gestion des environnements virtuels et la gestion des dépendances. Pour cela, il existe deux outils très efficaces : Pyenv et Pip. De plus en plus de développeurs substituent Pipenv à Pip et, en le couplant à Pyenv, présentent cela comme LA solution ultime ! Mais est-ce réellement le cas ?

C++ Moderne : C++17 (partie 2)

Magazine
Marque
GNU/Linux Magazine
Numéro
233
|
Mois de parution
janvier 2020
|
Domaines
Résumé

Dans le précédent article sur C++ 17, nous avons abordé les évolutions du langage et les évolutions de la STL orientées sur les types de bases. Continuons aujourd'hui notre découverte de C++ 17 !

Utiliser un outil de génération de documentation avec Doxygen

Magazine
Marque
Linux Pratique
Numéro
117
|
Mois de parution
janvier 2020
|
Domaines
Résumé

Documenter du code est souvent une partie d'un projet qui peut paraître longue, fastidieuse, voire ennuyeuse pour certains. Néanmoins, cette étape est cruciale pour la compréhension et la maintenabilité du code. Depuis longtemps, des outils permettant de faciliter cette tâche existent. Cet article a pour but de présenter Doxygen, l'un de ces outils de génération de documentation, et les atouts qu'il peut apporter à ses utilisateurs.

Coder une interface CLI avec des selectbox, des barres de progression, de la complétion… le tout en Python

Magazine
Marque
GNU/Linux Magazine
Numéro
233
|
Mois de parution
janvier 2020
|
Domaines
Résumé

Dans cet article, nous allons découvrir le module Python cleo qui permet de créer des consoles en CLI avec des couleurs, du formatage de texte et de tableaux, des selectbox, des champs de saisie avec complétion et un module de complétion pour bash/zsh, et même fish !

Les bases de la modélisation en UML

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
106
|
Mois de parution
janvier 2020
|
Domaines
Résumé

Ah, l'UML et ses diagrammes qui font fuir certains développeurs, persuadés qu'il s'agit de documents inutiles : j'ai une idée, je code et ça marche… Certes, pour un petit script la technique fonctionne, mais pour un projet de plus grande envergure, il n'est pas inutile de travailler la modélisation !

Par le même auteur

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
|
Domaines
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.

Les tribulations d'un programmeur Linux dans la Sierra Apple

Magazine
Marque
GNU/Linux Magazine
Numéro
216
|
Mois de parution
juin 2018
|
Résumé
Après développement d'applications domotiques basées sur des échanges de datagrammes pour divers hôtes (Raspberry Pi, ESP-12, smartphone Android) et divers langages (C++, Python, Java), on finit par être confronté au portage de ces applications dans l'univers Apple ; il est alors naturel de se tourner vers le langage Swift et sa librairie « Foundation » (le langage Swift créé par Apple et rendu public en 2014 est passé en open source en décembre 2015).L'utilisation du protocole UDP conduit à mettre en œuvre les « CFSocket » de la libraire « Foundation » avec leur fonction de rappel (callback) associée pour la réception des datagrammes. On est alors amené à manipuler des pointeurs (UnsafePointer et autres variantes du langage Swift) vers divers objets ce qui n'est pas évident a priori. Cet article est destiné à faire partager ce retour d'expérience.

Conception d'un système de télé?information EDF

Magazine
Marque
GNU/Linux Magazine
Numéro
197
|
Mois de parution
octobre 2016
|
Domaines
Résumé

La télé-information peut permettre, outre la surveillance de la consommation électrique, de piloter par exemple le système de chauffage (pompe à chaleur/chaudière fuel) en fonction des différentes périodes tarifaires EDF. Nous envisagerons de placer ce projet dans un cadre domotique général d'informatique répartie et d'insister sur la conception et la réalisation logicielle, notamment à l'aide de diagrammes de type UML.

Modélisation d'un système de téléinformation EDF

Magazine
Marque
GNU/Linux Magazine
Numéro
196
|
Mois de parution
septembre 2016
|
Domaines
Résumé
Le sujet a certes déjà été traité à plusieurs reprises dans la littérature informatique ; nous envisagerons ici de replacer ce projet dans un cadre domotique plus général d'informatique répartie et d'insister sur la conception et la réalisation logicielle, notamment à l'aide de diagrammes. En particulier la téléinformation peut permettre, outre la surveillance de la consommation électrique, de piloter par exemple le système de chauffage (pompe à chaleur / chaudière fuel) en fonction des différentes périodes tarifaires EDF.

Concevoir un service DynDNS pour Livebox depuis votre Raspberry Pi

Magazine
Marque
Linux Pratique
Numéro
90
|
Mois de parution
juillet 2015
|
Domaines
Résumé
Certains opérateurs Internet permettent aux particuliers de disposer d'une adresse IP fixe. Il est alors possible de se connecter sur son réseau local à partir d'un point d'accès quelconque (ordinateur, smartphone...). Ce n'est pas le cas d'Orange dont les Livebox peuvent voir leur adresse IP changer de manière aléatoire. Nous allons voir comment réaliser un service de type DNS dynamique « maison » permettant de résoudre ce problème.