Escribiendo la tecla Enter/Return en Selenium

Resuelto croixhaug asked hace 14 años • 0 respuestas

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 typecomando Selenium si no hay ningún botón en el que hacer clic?

croixhaug avatar Oct 27 '09 13:10 croixhaug
Aceptado
import org.openqa.selenium.Keys

WebElement.sendKeys(Keys.RETURN);

La importdeclaración es para Java. Para otros idiomas, tal vez sea diferente. Por ejemplo, en Python esfrom selenium.webdriver.common.keys import Keys

Ralph avatar Aug 18 '2011 10:08 Ralph

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);
Prashanth Sams avatar Feb 28 '2014 09:02 Prashanth Sams

Puede utilizar cualquiera de Keys.ENTERo 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.ENTERy Keys.RETURNambos 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 codespara ellos son los siguientes:

  • VOLVER =u'\ue006'
  • ENTRAR =u'\ue007'

La implementación de todos Enum Keysse maneja de la misma manera.

Por lo tanto, no Functional hay Operationaldiferencia 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
undetected Selenium avatar Dec 15 '2017 10:12 undetected Selenium

Ahora que se lanzó Selenium 2, es un poco más fácil enviar una tecla Enter, ya que puedes hacerlo con el send_keysmétodo de la selenium.webdriver.remote.webelement.WebElementclase (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")
Eli Courtwright avatar Apr 11 '2011 17:04 Eli Courtwright