Send Keys

Send a sequence of key strokes to an element

Example Usage

// Java
MobileElement element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
element.sendKeys("Hello world!");

# Python
self.driver.find_element_by_accessibility_id('SomeAccessibilityID').send_keys('Hello world!')

// Javascript
// webdriver.io example
driver.setValue("~SomeAccessibilityId");



[//]: # (DO NOT EDIT THIS FILE! This is an auto-generated file. Editing for this document happens in /commands-yml/commands/element/actions/send-keys.yml)
// wd example
let element = await driver.elementByAccessibilityId("SomeAccessibilityID");
await element.type("Hello world!")

# Ruby
# ruby_lib example
find_element(:accessibility_id, "SomeAccessibilityID").send_keys("Hello World!")


[//]: # (DO NOT EDIT THIS FILE! This is an auto-generated file. Editing for this document happens in /commands-yml/commands/element/actions/send-keys.yml)
# ruby_lib_core example
@driver.find_element(:accessibility_id, "SomeAccessibilityID").send_keys("Hello World!")

# PHP
$el = $this->byAccessibilityId('SomeAccessibilityID');
$el->setText('Hello world!');

// C#
// TODO C# sample

Description

Any UTF-8 character may be specified, however, if the server does not support native key events, it should simulate key strokes for a standard US keyboard layout. The Unicode Private Use Area code points, 0xE000-0xF8FF, are used to represent pressable, non-text keys (see table below). (See Unicode document for information on Unicode characters)

Support

Appium Server

Platform Driver Platform Versions Appium Version Driver Version
iOS XCUITest 9.3+ 1.6.0+ All
UIAutomation 8.0 to 9.3 All All
Android Espresso ?+ 1.9.0+ All
UiAutomator2 ?+ 1.6.0+ All
UiAutomator 4.2+ All All
Mac Mac ?+ 1.6.4+ All
Windows Windows 10+ 1.6.0+ All

Appium Clients

Language Support Documentation
Java All seleniumhq.github.io
Python All selenium-python.readthedocs.io
Javascript (WebdriverIO) All
Javascript (WD) All github.com
Ruby All www.rubydoc.info
PHP All github.com
C# All github.com

HTTP API Specifications

Endpoint

POST /wd/hub/session/:session_id/element/value

URL Parameters

name description
session_id ID of the session to route the command to
element_id ID of the element to send keys to.

JSON Parameters

name type description
value array<string> The sequence of keys to type. An array must be provided. The server should flatten the array items to a single string to be typed.

Response

null

See Also