Comment obtenir l'URL actuelle avec le sélénium

Comment obtenir l'URL actuelle avec le sélénium
Selenium est un outil pour les tests de navigateur, l'automatisation Web et le grattage Web. En travaillant sur vos projets de sélénium, vous devrez peut-être connaître l'URL de la page que votre navigateur Web contrôlé en sélénium affiche. Ces informations peuvent être utiles pour garder une trace de l'URL à partir de l'endroit où 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 du sélénium. Alors, commençons.

Conditions préalables:

Pour essayer les commandes et les 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 virtualv Package installé sur votre ordinateur.
5) Mozilla Firefox ou Google Chrome Web Browsers installé sur votre ordinateur.
6) Doit savoir comment installer le pilote Firefox Gecko ou le pilote Web Chrome.

Pour répondre aux exigences 4, 5 et 6, veuillez lire mon article Introduction au sélénium avec Python 3 à Linuxhint.com.

Vous pouvez trouver de nombreux articles sur les autres sujets sur Linuxhint.com. Assurez-vous de les vérifier si vous avez besoin d'aide.

Configuration d'un répertoire de projet:

Pour garder tout organisé, créez un nouveau répertoire de projet sélénium-url / comme suit:

$ mkdir -pv sélénium-url / pilotes

Accédez à la sélénium-url / Répertoire de projet comme suit:

$ cd sélénium-url /

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

$ virtualenv .venv

Activez l'environnement virtuel comme suit:

$ source .Venv / bin / 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/ Annuaire du projet. J'ai expliqué le processus de téléchargement et d'installation de pilotes Web dans mon article Introduction au sélénium 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. Donc, j'utiliserai le chromedriver binaire avec sélénium. Vous devez utiliser le geckodriver binaire si vous souhaitez utiliser le navigateur Web Firefox.

Obtenir une URL actuelle avec le sélénium:

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

à partir de Selenium Import WebDriver
de sélénium.webdriver.commun.Clés Import les clés
Options = webDriver.ChromeOptions ()
options.sans tête = vrai
navigateur = webdriver.Chrome (exécutable_path = "./ pilotes / chromedriver ", options = options)
navigateur.get ("https: // DuckDuckgo.com / ")
imprimer (navigateur.current_url)
navigateur.fermer()

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

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

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

La ligne 7 crée un chrome navigateur objet en utilisant le chromedriver binaire du Conducteurs/ Annuaire du projet.

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

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ésultat de la recherche sur la console.

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

à partir de Selenium Import WebDriver
de sélénium.webdriver.commun.Clés Import les clés
Options = webDriver.ChromeOptions ()
options.sans tête = vrai
navigateur = webdriver.Chrome (exécutable_path = "./ pilotes / chromedriver ", options = options)
navigateur.get ("https: // DuckDuckgo.com / ")
imprimer (navigateur.current_url)
SearchInput = navigateur.find_element_by_id ('search_form_input_homepage')
Rechercher.Send_keys ('Selenium HQ' + Keys.ENTRER)
imprimer (navigateur.current_url)
navigateur.fermer()

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. Alors, je ne les explique plus.

La ligne 12 trouve la zone de texte de recherche et la stocke dans le Rechercher variable.

La ligne 13 envoie la requête de recherche HQ du sélénium dans le Rechercher zone de texte et appuie sur le clé en utilisant Clés.ENTRER.

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

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

La ligne 17 ferme le navigateur.

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

Le second est l'URL actuelle mise à jour après avoir effectué une recherche sur le moteur de recherche DuckDuckgo à l'aide de la requête HQ du 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 être en mesure de rendre vos projets de sélénium plus intéressants.