Comment obtenir l'URL actuelle avec Selenium

How Get Current Url With Selenium



Selenium est un outil de test de navigateur, d'automatisation Web et de grattage Web. Lorsque vous travaillez sur vos projets Selenium, vous devrez peut-être connaître l'URL de la page affichée par votre navigateur Web contrôlé par Selenium. Ces informations peuvent être utiles pour garder une trace de l'URL à partir de laquelle vous avez extrait certaines données afin que vous puissiez mettre à jour les données automatiquement à l'aide d'un script.

Dans cet article, je vais vous montrer comment obtenir l'URL actuelle du navigateur avec Selenium. 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, veuillez lire mon article Introduction à Selenium avec Python 3 sur Linuxhint.com.





Vous pouvez trouver de nombreux articles sur les autres sujets sur LinuxHint.com . Assurez-vous 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 URL-sélénium/ comme suit:



$mkdir -pvsélénium-url/Conducteurs

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

$CDsélénium-url/

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

$virtualenv .venv

Activez l'environnement virtuel comme suit :

$la source.venv/un m/Activer

Installez la bibliothèque Selenium Python dans votre environnement virtuel à 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.

J'utiliserai le navigateur Web Google Chrome pour la démonstration de cet article. Je vais donc utiliser le Chromedriver binaire avec Selenium. Vous devriez utiliser le pilote de gecko binaire si vous souhaitez utiliser le navigateur Web Firefox.

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

deséléniumimporterpilote Web
desélénium.pilote Web.commun.clés importerClés
options=pilote Web.Options Chrome()
option.sans tête = Vrai
navigateur=pilote Web.Chrome(chemin_exécutable='./drivers/chromedriver',options=options)
navigateur.avoir('https://duckduckgo.com/')
imprimer(navigateur.URL_actuelle)
navigateur.proche()

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

Ici, les lignes 1 et 2 importent tous les composants requis de la bibliothèque Python Selenium.

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

La ligne 7 crée un Chrome 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 duckduckgo.com.

La ligne 10 imprime l'URL actuelle du navigateur. Ici, navigateur.current_url La propriété est utilisée pour accéder à l'URL actuelle du navigateur.

La ligne 12 ferme le navigateur.

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

$ python3 ex01.py

Comme vous pouvez le voir, l'URL actuelle ( https://duckduckgo.com ) est imprimé sur la console.

Dans l'exemple précédent, j'ai visité le site Web duckduckgo.com et imprimé l'URL actuelle sur la console. Cela renvoie l'URL de la page que nous visitons. Pas très sophistiqué car nous connaissons déjà l'URL de la page. Maintenant, recherchons quelque chose sur DuckDuckGo et essayons d'imprimer l'URL de la page de résultats de recherche sur la console.

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

deséléniumimporterpilote Web
desélénium.pilote Web.commun.clés importerClés
options=pilote Web.Options Chrome()
option.sans tête = Vrai
navigateur=pilote Web.Chrome(chemin_exécutable='./drivers/chromedriver',options=options)
navigateur.avoir('https://duckduckgo.com/')
imprimer(navigateur.URL_actuelle)
rechercheEntrée=navigateur.find_element_by_id('search_form_input_homepage')
rechercheEntrée.envoyer_clés('sélénium qq'+ Clés.ENTRER)
imprimer(navigateur.URL_actuelle)
navigateur.proche()

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

Ici, les lignes 1-10 sont les mêmes que dans ex01.py . Donc, je ne les explique plus.

La ligne 12 trouve la zone de texte de recherche et la stocke dans le rechercheEntrée variable.

La ligne 13 envoie la requête de recherche QG de sélénium dans le rechercheEntrée zone de texte et appuie sur le clé à l'aide Touches.ENTRÉE .

Une fois la page de recherche chargée, navigateur.current_url est utilisé pour accéder à l'URL actuelle mise à jour.

La ligne 15 imprime l'URL actuelle mise à jour sur la console.

La ligne 17 ferme le navigateur.

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

$ python3 ex02.py

Comme vous pouvez le voir, le script Python ex02.py imprime 2 URL.

Le premier est l'URL de la page d'accueil du moteur de recherche DuckDuckGo.

La seconde est l'URL actuelle mise à jour après avoir effectué une recherche sur le moteur de recherche DuckDuckGo à l'aide de la requête QG de sélénium .

Conclusion:

Dans cet article, je vous ai montré comment obtenir l'URL actuelle du navigateur Web à l'aide de la bibliothèque Selenium Python. Maintenant, vous devriez pouvoir rendre vos projets Selenium plus intéressants.