Я ищу быстрый способ ввода и ввода или возврата ключа в Selenium. К сожалению, форма, которую я пытаюсь проверить (не мой собственный код, поэтому я не могу изменить), не имеет кнопки Отправить. При работе с ним вручную я просто набираю ENTERили RETURN. Мне нужно знать, как это сделать с помощью type
команды Selenium, так как кнопка не нажимается.
selenium
automation
automated-tests
keypress
enter
croixhaug
источник
источник
Ответы:
import
утверждение для Java, для других языков , это может быть другим, например , питон: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'
. Но почему? Некоторые реликтовые или ОС различия.ЯВА
ИЛИ,
ПИТОН
ИЛИ,
ИЛИ,
РУБИН
ИЛИ,
ИЛИ,
C #
ИЛИ,
источник
Теперь, когда Selenium 2 был выпущен, немного проще отправить ключ Enter, поскольку вы можете сделать это с помощью
send_keys
методаselenium.webdriver.remote.webelement.WebElement
класса (этот пример кода на Python, но тот же метод существует на Java):источник
Вы можете использовать любой из
Keys.ENTER
илиKeys.RETURN
. Вот некоторые детали:Использование :
Java :
Использование
Keys.ENTER
:С помощью
Keys.RETURN
Python:
Использование
Keys.ENTER
:С помощью
Keys.RETURN
Keys.ENTER
иKeys.RETURN
оба изorg.openqa.selenium.Keys
, который расширяетjava.lang.Enum<Keys>
и реализуетjava.lang.CharSequence
Enum Keys
Enum Keys представляет собой нажатия клавиш, которые не являются текстовыми. Они хранятся в кодовых точках Unicode PUA ( частная область использования ), 0xE000-0xF8FF.
Ключевые коды:
Специальные
keys codes
для них следующие:u'\ue006'
u'\ue007'
Реализация всех
Enum Keys
обрабатывается одинаково.Следовательно, нет
Functional
или нетOperational
разницы при работе с SeleniumsendKeys(Keys.ENTER);
илиWebElement.sendKeys(Keys.RETURN);
через него .Введите ключ и ключ возврата
На клавиатурах компьютера Enter(или Returnна Mac OSX) в большинстве случаев командная строка, окно или диалоговое окно работают по умолчанию. Обычно это завершает «ввод» и начинает нужный процесс, и обычно является альтернативой нажатию кнопки «ОК».
Их Returnчасто называют также Enterи они обычно выполняют идентичные функции; однако в некоторых конкретных приложениях (в основном макет страницы) Returnдействует, в частности, как ключ возврата каретки, из которого он исходит. Напротив, они Enterобычно обозначаются своим именем в виде обычного текста на обычных клавиатурах ПК.
Ссылки
источник
При написании HTML-тестов клавиша ENTER доступна как
${KEY_ENTER}
.Вы можете использовать его
sendKeys
, вот пример:источник
В питоне
Шаг 1.
from selenium.webdriver.common.keys import Keys
Шаг 2.
driver.find_element_by_name("").send_keys(Keys.ENTER)
Примечание: вы должны написать
Keys.ENTER
источник
Вы просто делаете это:
источник
источник
Для тех людей, которые используют WebDriverJS
Keys.RETURN
будет упоминаться какТакже может быть полезен более полный пример в качестве ссылки:
источник
driver.findElement(By.id("Value")).sendKeys(Keys.RETURN);
илиdriver.findElement(By.id("Value")).sendKeys(Keys.ENTER);
источник
ENTER = u '\ ue007'
обратитесь к документации по селену «Специальные ключи»
источник
Я просто хотел бы отметить , что мне нужно это для моих тестов огурцов и выяснил , что , если вы хотите , чтобы имитировать нажатие Enter / Return ключа, вам нужно отправить
:return
значение и не на:enter
величину (см значение описано здесь )источник
Для Selenium RC с Java:
Для Selenium WebDriver (также известный как Selenium2) с Java:
ИЛИ,
Еще один способ нажать Enter в WebDriver с помощью класса Actions:
источник
Если вы ищете «как нажать клавишу ввода на клавиатуре в Selena WebDriver (Java)», то приведенный ниже код определенно вам поможет.
источник
Вы можете вызвать
submit()
элемент объекта, в который вы ввели свой текст.В качестве альтернативы вы можете отправить ему ключ ввода, как показано в следующем фрагменте кода Python:
источник
Попробуйте использовать XPATH для поиска элемента, а затем, следующий код работает:
источник
Существуют следующие способы нажатия клавиш - C #:
ИЛИ
ИЛИ
источник
оно работает
источник
Если вы не хотите искать какой-либо локатор, вы можете использовать класс Robot: например:
источник
Для ввода ключей с помощью Selen First вам необходимо импортировать следующую библиотеку:
затем добавьте этот код, где вы хотите ввести ключ
Вы можете заменить RETURN на любые ключи из списка в соответствии с вашими требованиями.
источник
Это может быть достигнуто с помощью интерфейса Action, в случае WebDriver -
источник
Для рубина: -
источник
Можешь попробовать :
источник
Мне пришлось отправить ключ ввода в середине текста. Поэтому я передал следующий текст, чтобы отправить функцию клавиш для достижения
1\n2\n3
источник
Для Selenium WebDriver с использованием xpath (если ключ виден):
или,
источник
Если вы находитесь в этой конкретной ситуации:
а) хочу просто нажать клавишу, но не иметь определенного веб-элемента, чтобы нажать на
б) вы используете Selenium 2 (webDriver)
Тогда решение:
источник
JAVA / JavaScript:
Вы, вероятно, могли бы сделать это и не так :
источник
источник
Для всех, кто использует javascript / node , это работает для меня:
источник