Python >> Tutoriel Python >  >> Python

La fonction send_keys() dans Selenium Python

Nous allons introduire le send_keys() fonction dans Selenium Python et démontrer ses utilisations.

Toute application doit passer par quelques tests avant d'obtenir un marché. L'application doit d'abord répondre à toutes les exigences associées à son nom.

Nous devons tester les applications de manière exhaustive, car personne ne prédit l'entrée exacte donnée à l'application. Python Selenium peut nous aider à tester toutes les causes probables.

send_keys() est un processus dans lequel les entrées au clavier telles que les chiffres, les textes et les symboles sont envoyées aux zones de texte d'une application. send_keys() fait partie de WebDriver, et chaque saisie au clavier est envoyée à cet élément.

le send_keys() Fonction en Selenium Python

La première étape de cette méthode consiste à ouvrir l'application Web que nous voulons tester. Nous pouvons ouvrir l'application en utilisant son URL.

Attendez que toute la page se charge correctement car le test échoue si l'application est de type dynamique, mais que la page Web n'est pas entièrement chargée lors de l'application du test.

Tutoriel Sélénium avec Python | TECHLISTIC.COM

L'étape suivante consiste à sélectionner et à rechercher l'élément souhaité envoyé aux entrées du clavier. Cet élément est généralement une zone de texte qui permet à l'utilisateur d'y écrire.

L'élément peut être un onglet de recherche ou un formulaire. Nous pouvons utiliser plusieurs options telles que l'ID d'élément, le nom d'élément et XPath pour trouver les éléments.

Après avoir sélectionné les éléments, les saisies au clavier sont envoyées à l'aide du send_keys méthode. Nous pouvons trouver un élément en utilisant l'id, le nom de la classe ou le xpath.

La syntaxe de chaque méthode est indiquée ci-dessous.

# python
getElemById = driver.find_element_by_id("myId")
getElemByName = driver.find_element_by_name("myClass")
getElemByXPath = driver.find_element_by_xpath("//input[@id='myId']")

L'application principale de send_keys() teste l'application pour de nombreuses entrées. Cependant, il est important de connaître les deux entrées couramment utilisées pour cette méthode.

Validation des entrées à l'aide du send_keys() Fonction en Selenium Python

La plupart des applications disposent d'un formulaire de connexion pour lequel l'adresse e-mail de l'utilisateur est largement utilisée. Puisque nous savons tous que chaque adresse e-mail a un modèle standard commençant par un nom d'utilisateur, comprend le symbole @ , suivi du nom de domaine.

Maintenant, nous devrions ajouter le processus de validation de l'adresse e-mail.

Cela ne permettra pas à l'utilisateur de se connecter à l'application en écrivant une adresse e-mail invalide dans le formulaire de connexion. La validation peut être confirmée en ajoutant et en vérifiant l'application en envoyant les entrées qui ne suivent pas le modèle principal.

Des validations supplémentaires peuvent également intervenir dans ce processus. Étant donné que le mot de passe pour se connecter à l'application a un ensemble de règles spécifiques, cette validation peut être vérifiée en envoyant des entrées qui ne respectent pas les règles.

La barre de recherche présente dans l'application doit également être cochée. Une barre de recherche doit afficher les résultats pertinents pour guider correctement l'utilisateur avec l'élément de recherche souhaité.

send_keys() est un outil pratique pour vérifier les résultats attendus de la barre de recherche.

Certaines applications Web incluent des fonctions spéciales qui doivent être vérifiées avant de publier l'application. Un exemple de fonction spéciale est Google Meet, qui utilise Ctrl +D pour activer ou désactiver le microphone.

Exemple de code :

# python
from selenium import webdriver

Chromedriver = webdriver.Chrome()

Chromedriver.get("https://www.google.com/")

getElemById = Chromedriver.find_element_by_name("gLFyf")

getElemById.send_keys("This is filed by Selenium send keys")

Sortie :

Comme vous pouvez le voir dans l'exemple ci-dessus, à l'aide du send_keys() méthode du sélénium, nous pouvons remplir n'importe quel champ de saisie sur n'importe quel site Web.

Effacer les textes à l'aide du send_keys() Fonction en Selenium Python

Nous pouvons également éditer et changer les valeurs des clés en utilisant le même send_keys() fonction. Passons en revue un exemple dans lequel nous allons modifier la valeur de l'entrée, puis nous la modifierons à nouveau.

Dans cet exemple, nous enverrons la clé; après avoir dormi pendant 3 secondes, nous supprimerons 3 lettres de la clé. Et à la fin, nous modifierons à nouveau la valeur, comme indiqué ci-dessous.

Exemple de code :

# python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

link = 'https://www.google.com/'

chromeDriver = webdriver.Chrome("C:\chromedriver.exe")

driverOptions = webdriver.ChromeOptions()

windowSize = chromeDriver.get_window_size()

chromeDriver.get(link)

getElemByName = chromeDriver.find_element_by_name('gLFyf')

getElemByName.send_keys('For test purpose')
time.sleep(3)

getElemByName.send_keys(3*Keys.BACKSPACE)

time.sleep(3)

getElemByName.send_keys('testing second key')

time.sleep(3)

getElemByName.clear()

time.sleep(3)

chromeDriver.quit()

Première étape :

Deuxième étape :

Troisième étape :

Problèmes de dépannage :

  1. Nous devons nous assurer que l'élément choisi provient des entrées du clavier.
  2. L'identification de l'élément doit être donnée avec une référence appropriée pour éviter les complications.
  3. Suivez toujours la bonne méthode :recherchez l'élément, cliquez dessus, puis envoyez les clés.
  4. send_keys() peut échouer lorsqu'un élément n'est pas actif ou hors de portée. Assurez-vous de tenir compte de ces facteurs lorsque vous travaillez sur un élément spécifique.