Je cherche un moyen rapide de taper et de saisir ou de retourner la clé dans le sélénium. Malheureusement, le formulaire que j'essaie de tester (pas mon propre code, donc je ne peux pas le modifier) n'a pas de bouton Soumettre. Lorsque je l'utilise manuellement, je tape simplement ENTERou RETURN. J'ai besoin de savoir comment faire cela avec la type
commande Selenium car il n'y a pas de bouton sur lequel cliquer.
selenium
automation
automated-tests
keypress
enter
croixhaug
la source
la source
Réponses:
l'
import
instruction est pour Java, pour d'autres langages c'est peut-être un différent, par exemple python:from selenium.webdriver.common.keys import Keys
la source
from selenium.webdriver.common.keys import Keys
( stackoverflow.com/questions/5503489/… )org.openqa.selenium.Keys
RETURN = '\ue006'
ENTER = '\ue007'
. Mais pourquoi? Quelques différences reliques ou OS.JAVA
OU,
PYTHON
OU,
OU,
RUBIS
OU,
OU,
C #
OU,
la source
Maintenant que Selenium 2 est sorti, il est un peu plus facile d'envoyer une clé Entrée, car vous pouvez le faire avec la
send_keys
méthode de laselenium.webdriver.remote.webelement.WebElement
classe (cet exemple de code est en Python, mais la même méthode existe en Java):la source
Vous pouvez utiliser soit
Keys.ENTER
ouKeys.RETURN
. Voici quelques détails:Utilisation:
Java :
En utilisant
Keys.ENTER
:En utilisant
Keys.RETURN
Python:
En utilisant
Keys.ENTER
:En utilisant
Keys.RETURN
Keys.ENTER
et lesKeys.RETURN
deux sont deorg.openqa.selenium.Keys
, qui étendjava.lang.Enum<Keys>
et implémentejava.lang.CharSequence
Enum Keys
Enum Keys est la représentation des touches pressables qui ne sont pas du texte. Ceux-ci sont stockés dans les points de code Unicode PUA ( Private Use Area ), 0xE000-0xF8FF.
Codes clés:
Les spéciaux
keys codes
pour eux sont les suivants:u'\ue006'
u'\ue007'
La mise en œuvre de tous les
Enum Keys
est gérée de la même manière.Par conséquent, ce n'est pas
Functional
ou uneOperational
différence lorsque vous travaillez avecsendKeys(Keys.ENTER);
ouWebElement.sendKeys(Keys.RETURN);
via le sélénium .Entrer la clé et la clé de retour
Sur les claviers d'ordinateur, Enter(ou Returnsur Mac OSX) dans la plupart des cas, une ligne de commande, un formulaire de fenêtre ou une boîte de dialogue fait fonctionner sa fonction par défaut. Il s'agit généralement de terminer une "entrée" et de commencer le processus souhaité, et est généralement une alternative à la pression d'un bouton OK.
Le Returnest souvent aussi appelé le Enteret ils remplissent généralement des fonctions identiques; cependant, dans certaines applications particulières (principalement la mise en page), elle Returnfonctionne spécifiquement comme la touche Retour chariot d'où elle provient. En revanche, le Enterest généralement étiqueté avec son nom en texte brut sur les claviers PC génériques.
Références
la source
Lors de l'écriture de tests HTML, la touche ENTRÉE est disponible en tant que
${KEY_ENTER}
.Vous pouvez l'utiliser avec
sendKeys
, voici un exemple:la source
En Python
Étape 1.
from selenium.webdriver.common.keys import Keys
Étape 2.
driver.find_element_by_name("").send_keys(Keys.ENTER)
Remarque: vous devez écrire
Keys.ENTER
la source
Vous faites juste ceci:
la source
la source
Pour les personnes qui utilisent WebDriverJS
Keys.RETURN
seraient référencées commeUn exemple plus complet comme référence pourrait également être utile:
la source
driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);
oudriver.findElement(By.id("Value")).sendKeys(Keys.ENTER);
la source
ENTER = u '\ ue007'
reportez-vous à la documentation sur le sélénium «Clés spéciales»
la source
J'aime juste noter que j'avais besoin de cela pour mes tests de concombre et j'ai découvert que si vous aimez simuler en appuyant sur la touche entrée / retour, vous devez envoyer la
:return
valeur et non la:enter
valeur (voir les valeurs décrites ici )la source
Pour Selenium RC avec Java:
Pour Selenium WebDriver (alias Selenium2) avec java:
OU,
Une autre façon d'appuyer sur Entrée dans WebDriver à l'aide de la classe Actions:
la source
si vous cherchez "comment appuyer sur la touche entrée du clavier dans le sélecteur web sélénium (java)", le code ci-dessous vous aidera certainement.
la source
Vous pouvez faire appel
submit()
à l'objet élément dans lequel vous avez entré votre texte.Alternativement, vous pouvez spécifiquement lui envoyer la clé d'entrée comme indiqué dans cet extrait de code python:
la source
Essayez d'utiliser XPATH pour rechercher l'élément, puis le code suivant fonctionne:
la source
Il existe différentes façons d'appuyer sur les touches - C #:
OU
OU
la source
Ça marche
la source
Lorsque vous ne voulez rechercher aucun localisateur, vous pouvez utiliser la classe Robot: par exemple:
la source
Pour saisir des clés à l'aide de sélénium, vous devez d'abord importer la bibliothèque suivante:
puis ajoutez ce code là où vous voulez entrer la clé
Vous pouvez remplacer RETOUR par n'importe quelle clé de la liste selon vos besoins
la source
Peut également être réalisé à l'aide de l'interface Action, dans le cas de WebDriver -
la source
Pour RUBY: -
la source
Tu peux essayer :
la source
J'ai dû envoyer la touche Entrée au milieu d'un texte. J'ai donc passé le texte suivant pour envoyer la fonction touches pour atteindre
1\n2\n3
la source
Pour Selenium WebDriver utilisant xpath (si la clé est visible):
ou,
la source
Si vous êtes dans cette situation spécifique:
a) je veux JUSTE appuyer sur la touche, mais je n'ai pas d'élément web spécifique sur lequel cliquer
b) vous utilisez Selenium 2 (webDriver)
Alors la solution est:
la source
JAVA / JavaScript:
Vous pourriez probablement le faire de cette manière également, de manière non native :
la source
la source
Pour tout le monde utilisant javascript / node , cela a fonctionné pour moi:
la source