Selenium

Comment rafraîchir la page avec Selenium

Comment rafraîchir la page avec Selenium
L'actualisation des pages Web est une action très courante. Nous actualisons la page Web pour voir les résultats mis à jour. La même chose est vraie pour les tests de navigateur, l'automatisation Web et le grattage Web avec le pilote Web Selenium.

Dans cet article, je vais vous montrer comment actualiser une page avec la librairie Selenium Python. Alors, commençons.

Conditions préalables:

Pour essayer les commandes et exemples de cet article, vous devez avoir,

1) Une distribution Linux (de préférence Ubuntu) installée sur votre ordinateur.
2) Python 3 installé sur votre ordinateur.
3) PIP 3 installé sur votre ordinateur.
4) Python virtualenv package installé sur votre ordinateur.
5) Navigateurs Web Mozilla Firefox ou Google Chrome installés sur votre ordinateur.
6) Doit savoir comment installer le pilote Firefox Gecko ou le pilote Web Chrome.

Pour remplir les conditions 4, 5 et 6, lisez mon article Introduction à Selenium avec Python 3 chez Linuxhint.com.

Vous pouvez trouver de nombreux articles sur les autres sujets sur LinuxHint.com. N'oubliez pas de les consulter si vous avez besoin d'aide.

Configuration d'un répertoire de projet :

Pour que tout reste organisé, créez un nouveau répertoire de projet sélénium-rafraîchir/ comme suit:

$ mkdir -pv sélénium-refresh/drivers

Naviguez vers le sélénium-rafraîchir/ répertoire du projet comme suit :

$ cd sélénium-refresh/

Créez un environnement virtuel Python dans le répertoire du projet comme suit :

$ virtualenv .venv

Activez l'environnement virtuel comme suit :

$ source .venv/bin/activer

Installez la bibliothèque Selenium Python à l'aide de PIP3 comme suit :

$ pip3 installer le sélénium

Téléchargez et installez tous les pilotes Web requis dans le Conducteurs/ répertoire du projet. J'ai expliqué le processus de téléchargement et d'installation des pilotes Web dans mon article Introduction à Selenium avec Python 3. Si vous avez besoin d'aide, recherchez sur LinuxHint.com pour cet article.

Méthode 1 : Utilisation de la méthode du navigateur refresh()

La première méthode est la méthode la plus simple et la plus recommandée du rafraîchissement de la page avec Selenium.

Créer un nouveau script Python ex01.py et tapez les lignes de codes suivantes dedans.

à partir du pilote Web d'importation de sélénium
du sélénium.pilote Web.commun.clés importer des clés
du temps importer le sommeil
options = pilote Web.Options Chrome()
options.sans tête = vrai
navigateur = pilote Web.Chrome(executable_path="./drivers/chromedriver", options=options)
le navigateur.obtenir("https://www.unixtimestamp.com/")
horodatage = navigateur.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Horodatage actuel : %s' % (horodatage.texte.diviser(")[0]))
dormir(5)
le navigateur.rafraîchir()
horodatage = navigateur.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Horodatage actuel : %s' % (horodatage.texte.diviser(")[0]))
le navigateur.Fermer()

Une fois que vous avez terminé, enregistrez le ex01.py Script Python.

Les lignes 1 et 2 importent tous les composants Selenium requis.

La ligne 3 importe la fonction sleep() de la bibliothèque de temps. Je vais l'utiliser pour attendre quelques secondes que la page Web se mette à jour afin que nous puissions récupérer de nouvelles données après avoir actualisé la page Web.

La ligne 5 crée un objet Options Chrome et la ligne 6 active le mode sans tête pour le navigateur Web Chrome.

La ligne 8 crée un Chrome le navigateur objet en utilisant le Chromedriver binaire de la Conducteurs/ répertoire du projet.

La ligne 9 indique au navigateur de charger le site Web unixtimestamp.com.

La ligne 11 trouve l'élément qui contient les données d'horodatage de la page à l'aide du sélecteur XPath et les stocke dans le horodatage variable.

La ligne 12 analyse les données d'horodatage de l'élément et les imprime sur la console.

La ligne 14 utilise le dormir() fonction pour attendre 5 secondes.

La ligne 15 rafraîchit la page en cours à l'aide de la le navigateur.rafraîchir() méthode.

Les lignes 17 et 18 sont les mêmes que les lignes 11 et 12. Il trouve l'élément d'horodatage de la page et imprime l'horodatage mis à jour sur la console.

La ligne 20 ferme le navigateur.

Exécutez le script Python ex01.py comme suit:

$ python3 ex01.py

Comme vous pouvez le voir, l'horodatage est imprimé sur la console.

Après 5 secondes d'impression du premier horodatage, la page est actualisée et l'horodatage mis à jour est imprimé sur la console, comme vous pouvez le voir dans la capture d'écran ci-dessous.

Méthode 2 : revisiter la même URL

La deuxième méthode d'actualisation de la page consiste à revisiter la même URL en utilisant le le navigateur.obtenir() méthode.

Créer un script Python ex02.py dans votre répertoire de projet et tapez les lignes de codes suivantes dedans.

à partir du pilote Web d'importation de sélénium
du sélénium.pilote Web.commun.clés importer des clés
du temps importer le sommeil
options = pilote Web.Options Chrome()
options.sans tête = vrai
navigateur = pilote Web.Chrome(executable_path="./drivers/chromedriver", options=options)
le navigateur.obtenir("https://www.unixtimestamp.com/")
horodatage = navigateur.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Horodatage actuel : %s' % (horodatage.texte.diviser(")[0]))
dormir(5)
le navigateur.obtenir (navigateur.URL_actuelle)
horodatage = navigateur.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Horodatage actuel : %s' % (horodatage.texte.diviser(")[0]))
le navigateur.Fermer()

Une fois que vous avez terminé, enregistrez le ex02.py Script Python.

Tout est comme dans ex01.py. La seule différence est à la ligne 15.

Ici, j'utilise le le navigateur.obtenir() méthode pour visiter l'URL de la page actuelle. L'URL de la page actuelle est accessible à l'aide de la le navigateur.URL_actuelle propriété.

Exécutez le ex02.py Script Python comme suit :

$ python3 ex02.py

Comme vous pouvez le voir, le script Pythion ex02.py imprime le même type d'informations que dans ex01.py.

Conclusion:

Dans cet article, je vous ai montré 2 méthodes pour actualiser la page Web actuelle à l'aide de la bibliothèque Selenium Python. Vous devriez pouvoir faire des choses plus intéressantes avec Selenium maintenant.

Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...