Estou procurando uma maneira rápida de digitar e a tecla Enter ou Return no Selenium. Infelizmente, o formulário que estou tentando testar (não meu próprio código, portanto não posso modificá-lo) não possui o botão Enviar. Ao trabalhar com ele manualmente, basta digitar ENTERou RETURN. Preciso saber como fazer isso com o type
comando Selenium, pois não há botão para clicar.
selenium
automation
automated-tests
keypress
enter
croixhaug
fonte
fonte
Respostas:
a
import
instrução é para Java, para outras linguagens talvez seja diferente, por exemplo, python:from selenium.webdriver.common.keys import Keys
fonte
from selenium.webdriver.common.keys import Keys
( stackoverflow.com/questions/5503489/… )org.openqa.selenium.Keys
RETURN = '\ue006'
ENTER = '\ue007'
. Mas por que? Algumas diferenças de relíquia ou sistema operacional.JAVA
OU,
PITÃO
OU,
OU,
RUBI
OU,
OU,
C #
OU,
fonte
Agora que o Selenium 2 foi lançado, é um pouco mais fácil enviar uma chave Enter, pois você pode fazer isso com o
send_keys
método daselenium.webdriver.remote.webelement.WebElement
classe (este código de exemplo está em Python, mas o mesmo método existe em Java):fonte
Você pode usar qualquer um
Keys.ENTER
ouKeys.RETURN
. Aqui estão alguns detalhes:Uso:
Java :
Usando
Keys.ENTER
:Usando
Keys.RETURN
Pitão:
Usando
Keys.ENTER
:Usando
Keys.RETURN
Keys.ENTER
eKeys.RETURN
ambos são deorg.openqa.selenium.Keys
, o que se estendejava.lang.Enum<Keys>
e implementajava.lang.CharSequence
Chaves Enum
Enum Keys são as representações de teclas pressionáveis que não são texto. Eles são armazenados nos pontos de código Unicode PUA ( Área de Uso Privado ), 0xE000-0xF8FF.
Códigos-chave:
O especial
keys codes
para eles é o seguinte:u'\ue006'
u'\ue007'
A implementação de todos os
Enum Keys
são tratados da mesma maneira.Portanto, isso é não
Functional
ouOperational
diferença ao trabalhar com o SeleniumsendKeys(Keys.ENTER);
ouWebElement.sendKeys(Keys.RETURN);
com ele .Tecla Enter e Return Key
Nos teclados de computador, o Enter(ou o ReturnMac OSX) na maioria dos casos faz com que uma linha de comando, formulário de janela ou caixa de diálogo opere sua função padrão. Isso normalmente termina uma "entrada" e inicia o processo desejado e geralmente é uma alternativa para pressionar um botão OK.
O Returné também muitas vezes referido como o Entere eles costumam executar funções idênticas; no entanto, em alguns aplicativos específicos (principalmente o layout da página) Returnopera especificamente como a chave de retorno de carro da qual se origina. Por outro lado, Entergeralmente é rotulado com seu nome em texto sem formatação nos teclados genéricos de PC.
Referências
fonte
Ao escrever testes HTML, a tecla ENTER está disponível como
${KEY_ENTER}
.Você pode usá-lo com
sendKeys
, aqui está um exemplo:fonte
Em Python
Passo 1.
from selenium.webdriver.common.keys import Keys
Passo 2.
driver.find_element_by_name("").send_keys(Keys.ENTER)
Nota: você tem que escrever
Keys.ENTER
fonte
Você acabou de fazer isso:
fonte
fonte
Para as pessoas que estão usando o WebDriverJS
Keys.RETURN
seriam referenciadas comoUm exemplo mais completo como referência também pode ser útil:
fonte
driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);
oudriver.findElement(By.id("Value")).sendKeys(Keys.ENTER);
fonte
ENTER = u '\ ue007'
consulte a documentação do selênio 'Chaves especiais'
fonte
Gostaria apenas de observar que eu precisava disso para meus testes de pepino e descobri que, se você gosta de simular pressionando a tecla Enter / Return, precisa enviar o
:return
valor e não o:enter
valor (consulte os valores descritos aqui )fonte
Para Selenium RC com Java:
Para o Selenium WebDriver (aka Selenium2) com java:
OU,
Outra maneira de pressionar Enter no WebDriver usando a classe Actions:
fonte
se você está procurando "como pressionar a tecla Enter do teclado no selenium webdriver (java)", o código abaixo definitivamente o ajudará.
fonte
Você pode ligar
submit()
o objeto de elemento no qual você digitou seu texto.Como alternativa, você pode enviar especificamente a tecla Enter, como mostrado neste snippet python:
fonte
Tente usar o XPATH para pesquisar o elemento e, em seguida, o seguinte código funcionará:
fonte
Existem as seguintes maneiras de pressionar as teclas - C #:
OU
OU
fonte
funciona
fonte
Quando você não deseja pesquisar em nenhum localizador, pode usar a classe Robot: por exemplo:
fonte
Para inserir chaves usando o selênio Primeiro, você precisa importar a seguinte biblioteca:
adicione este código onde deseja inserir a chave
Você pode substituir RETURN por qualquer chave da lista de acordo com sua exigência
fonte
Também pode ser alcançado usando a interface Action, no caso do WebDriver -
fonte
Para RUBY: -
fonte
Podes tentar :
fonte
Eu tive que enviar a tecla Enter no meio de um texto. Então, eu passei o texto a seguir para enviar teclas de função para alcançar
1\n2\n3
fonte
Para o Selenium WebDriver usando xpath (se a chave estiver visível):
ou,
fonte
Se você estiver nessa situação específica:
a) deseja APENAS pressionar a tecla, mas não possui um elemento da web específico para clicar em
b) você está usando Selenium 2 (webDriver)
Então a solução é:
fonte
JAVA / JavaScript:
Provavelmente, você também poderia fazê-lo dessa maneira, de forma não nativa :
fonte
fonte
Para todos que usam javascript / node , isso funcionou para mim:
fonte