Taper touche Entrée/Retour en Sélénium
Je suis à la recherche d'un moyen rapide pour le type et la touche Entrée ou Retour en Sélénium. Malheureusement la forme, je suis en train de tester (pas mon propre code donc je ne peux pas modifier) ne dispose pas d'un bouton de soumission. Lorsque vous travaillez avec manuellement, je viens de type ENTRÉE ou RETOUR. J'ai besoin de savoir comment le faire avec le Sélénium type
de commande comme il n'y a pas de bouton à cliquer.
- Cela peut vous aider asynchrony.blogspot.com/2008/11/...
- merci, c'était exactement ce dont j'avais besoin!
- Qu'utilisez-vous? Selenium RC ou WebDriver (Sélénium 2)? Ce sujet de la langue? Java? C#? ou quoi?
- en 2009 (quand la question a été posée), il n'y avait pas de WebDriver. Aussi les réponses pour tous les deux ont été ici pendant un certain temps...
- oui, vous avez raison
Vous devez vous connecter pour publier un commentaire.
la
import
déclaration est de Java, pour les autres langues, il est peut-être un autre, par exemple en python:from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.keys import Keys
(stackoverflow.com/questions/5503489/...)org.openqa.selenium.Keys
RETURN = '\ue006'
ENTER = '\ue007'
. Mais pourquoi? Une relique ou OS différences.from selenium.webdriver.common.keys import Keys
password_field.send_keys(Keys.ENTER)
JAVA
OU,
PYTHON
OU,
OU,
RUBY
OU,
OU,
C#
OU,
submit
sauvé la journée où rien d'autre n'a fonctionné! Merci!!!!!!Maintenant que le Sélénium 2 a été libéré, c'est un peu plus facile d'envoyer une Entrée, puisque vous pouvez le faire avec le
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):Vous pouvez utiliser une des
Keys.ENTER
ouKeys.RETURN
. Voici quelques détails :Utilisation :
Java:
À l'aide de
Keys.ENTER
:À l'aide de
Keys.RETURN
Python:
À l'aide de
Keys.ENTER
:À l'aide de
Keys.RETURN
Keys.ENTER
etKeys.RETURN
les deux sont deorg.openqa.selenium.Keys
, qui s'étendjava.lang.Enum<Keys>
et met en œuvrejava.lang.CharSequence
Enum Clés
Enum Clés est la représentation de la pressées les touches qui ne sont pas de texte. Ceux-ci sont stockés dans le format Unicode PUA (L'Usage Privé De La Zone) points de code, 0xE000-0xF8FF.
Codes De Clé :
Spécial
keys codes
pour eux sont comme suit :u'\ue006'
u'\ue007'
La mise en œuvre de tous les
Enum Keys
sont traitées de la même manière.Donc ces est Pas
Functional
ouOperational
différence tout en travaillant avec soitsendKeys(Keys.ENTER);
ouWebElement.sendKeys(Keys.RETURN);
par Sélénium.La Touche Enter et la Touche Retour
Sur les claviers d'ordinateur, l' Entrée (ou Retour sur Mac OSX) dans la plupart des cas, les causes d'une ligne de commande, la fenêtre de forme, ou de la boîte de dialogue pour l'exploitation de ses fonction par défaut. C'est généralement à l'arrivée d'une "entrée" et de commencer le processus en question, et est habituellement une alternative à appuyer sur un bouton OK.
L' Retour est souvent aussi appelée Entrée et ils exécutent habituellement fonctions identiques; cependant, dans certaines applications particulières (principalement mise en page) Retour fonctionne précisément comme le Retour Chariot clé à partir de laquelle il provient. En revanche, l' Entrée est généralement étiqueté avec son nom en texte brut sur les claviers de PC.
Références
Lors de l'écriture de code HTML tests, la touche "ENTRÉE" est disponible en
${KEY_ENTER}
.Vous pouvez l'utiliser avec
sendKeys
, voici un exemple:Vous venez de le faire:
Pour ceux qui sont à l'aide de WebDriverJS
Keys.RETURN
serait référencé commeUn exemple plus complet comme une référence pourrait être utile aussi:
driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);
oudriver.findElement(By.id("Value")).sendKeys(Keys.ENTER);
ENTRÉE = u'\ue007'
consulter le sélénium documentation "Touches Spéciales'
Je voudrais juste noter que j'avais besoin de cela pour mon Concombre tests et découvert que si vous voulez simuler en appuyant sur la touche entrée/retour, vous devez envoyer à l'
:return
valeur et pas la:enter
valeur (voir les valeurs décrites ici)Pour le Sélénium RC avec Java:
Pour Selenium WebDriver(un.k.un. Selenium2) avec java:
OU,
Une autre façon d'appuyer sur Entrée dans WebDriver en utilisant les Actions de classe:
si vous êtes à la recherche de "comment appuyer sur la touche entrée du clavier dans selenium webdriver(java)",puis le code ci-dessous va certainement vous aider.
Il y a des manières suivantes de en appuyant sur les touches - C#:
OU
OU
Pour entrer les touches à l'aide de sélénium
Vous devez d'abord importer bibliothèque suivants:
puis ajoutez ce code à l'endroit où vous voulez entrer la clé de
Vous pouvez remplacer de RETOUR avec toutes les clés de la liste en fonction de vos besoins
Pourrait être réalisé en utilisant l'interface d'Action ainsi, en cas de WebDriver -
Essayez d'utiliser XPATH pour la recherche de l'élément et ensuite, le code suivant fonctionne:
Pour RUBY: -
Vous pouvez essayer :
J'ai dû envoyer touche entrée dans le milieu d'un texte. J'ai donc adopté le texte suivant pour envoyer des touches de fonction pour atteindre
1\n2\n3
Pour Selenium WebDriver à l'aide de xpath (Si la clé est visible):
ou,
Si vous êtes dans cette situation spécifique:
a) veux JUSTE appuyez sur la touche, mais pas webElement de cliquer sur
b) vous utilisez le Sélénium 2 (webDriver)
Alors la solution est:
JAVA/JavaScript:
Vous pourriez probablement faire de cette façon aussi, non-natif:
il fonctionne
Lorsque Vous ne voulez pas à la recherche d'une quelconque de localisation, Vous pouvez utiliser le Robot de la classe: par exemple:
Vous pouvez appeler
submit()
sur l'élément objet dans lequel vous avez tapé votre texte.Alternativement, vous pouvez envoyer la touche entrée, comme illustré dans cet extrait python:
En Python--
Étape 1. de sélénium.webdriver.commune importation de clés
Étape 2 pilote.find_element_by_name("").send_keys(clés.Les touches.ENTREZ)
Remarque: vous devez écrire clés.les touches.ENTREZ
Pour tout le monde à l'aide de javascript /node, cela a fonctionné pour moi: