Escribiendo la tecla Enter/Return en Selenium
Estoy buscando una forma rápida de escribir la clave Entero Returnen Selenium.
Desafortunadamente, el formulario que estoy intentando probar (no es mi propio código, por lo que no puedo modificarlo) no tiene un Submitbotón. Cuando trabajo con él manualmente, simplemente escribo Entero Return. ¿Cómo puedo hacer eso con el type
comando Selenium si no hay ningún botón en el que hacer clic?
import org.openqa.selenium.Keys
WebElement.sendKeys(Keys.RETURN);
La import
declaración es para Java. Para otros idiomas, tal vez sea diferente. Por ejemplo, en Python esfrom selenium.webdriver.common.keys import Keys
Java
driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);
O,
driver.findElement(By.id("Value")).sendKeys(Keys.ENTER);
Pitón
from selenium.webdriver.common.keys import Keys
driver.find_element_by_name("Value").send_keys(Keys.RETURN)
O,
driver.find_element_by_name("Value").send_keys(Keys.ENTER)
O,
element = driver.find_element_by_id("Value")
element.send_keys("keysToSend")
element.submit()
Rubí
element = @driver.find_element(:name, "value")
element.send_keys "keysToSend"
element.submit
O,
element = @driver.find_element(:name, "value")
element.send_keys "keysToSend"
element.send_keys:return
O,
@driver.action.send_keys(:enter).perform
@driver.action.send_keys(:return).perform
C#
driver.FindElement(By.Id("Value")).SendKeys(Keys.Return);
O,
driver.FindElement(By.Id("Value")).SendKeys(Keys.Enter);
Puede utilizar cualquiera de Keys.ENTER
o Keys.RETURN
. Aquí están los detalles:
Uso:
Java :
Usando
Keys.ENTER
:import org.openqa.selenium.Keys; driver.findElement(By.id("element_id")).sendKeys(Keys.ENTER);
Usando
Keys.RETURN
:import org.openqa.selenium.Keys; driver.findElement(By.id("element_id")).sendKeys(Keys.RETURN);
Pitón:
Usando
Keys.ENTER
:from selenium.webdriver.common.keys import Keys driver.find_element_by_id("element_id").send_keys(Keys.ENTER)
Usando
Keys.RETURN
:from selenium.webdriver.common.keys import Keys driver.find_element_by_id("element_id").send_keys(Keys.RETURN)
Keys.ENTER
y Keys.RETURN
ambos son de org.openqa.selenium.Keys
, que extiende java.lang.Enum<Keys>
e implementa java.lang.CharSequence
.
Teclas de enumeración
Enum Keys son las representaciones de teclas presionables que no son texto. Estos se almacenan en los puntos de código Unicode PUA ( Área de uso privado ), 0xE000-0xF8FF.
Códigos clave:
Los especiales keys codes
para ellos son los siguientes:
- VOLVER =
u'\ue006'
- ENTRAR =
u'\ue007'
La implementación de todos Enum Keys
se maneja de la misma manera.
Por lo tanto, no Functional
hay Operational
diferencia al trabajar con SeleniumsendKeys(Keys.ENTER);
o WebElement.sendKeys(Keys.RETURN);
a través de él .
Ingresar clave y regresar clave
En los teclados de computadora, Enter(o Returnen Mac OS X) en la mayoría de los casos hace que una línea de comando, un formulario de ventana o un cuadro de diálogo opere su función predeterminada. Esto suele ser para finalizar una "entrada" y comenzar el proceso deseado y suele ser una alternativa a presionar un OKbotón.
A Returnmenudo también se les conoce como Entery generalmente realizan funciones idénticas; sin embargo, en algunas aplicaciones particulares (principalmente diseño de página) Returnfunciona específicamente como la tecla Retorno de carro de la que se origina. Por el contrario, el teclado Entersuele estar etiquetado con su nombre en texto plano en los teclados de PC genéricos.
Referencias
- Introducir clave
- Retorno de carro
Ahora que se lanzó Selenium 2, es un poco más fácil enviar una tecla Enter, ya que puedes hacerlo con el send_keys
método de la selenium.webdriver.remote.webelement.WebElement
clase (este código de ejemplo está en Python, pero el mismo método existe en Java):
>>> from selenium import webdriver
>>> wd = webdriver.Firefox()
>>> wd.get("http://localhost/example/page")
>>> textbox = wd.find_element_by_css_selector("input")
>>> textbox.send_keys("Hello World\n")