Pressing Ctrl+A in Selenium WebDriver

AJJ picture AJJ · Jul 16, 2012 · Viewed 203.6k times · Source

I need to press Ctrl+A keys using Selenium WebDriver. Is there any way to do it?

I checked the Selenium libraries and found that Selenium allows key press of special and Functional keys only.

Answer

Petr Janeček picture Petr Janeček · Jul 16, 2012

One more solution (in Java, because you didn't tell us your language - but it works the same way in all languages with Keys class):

String selectAll = Keys.chord(Keys.CONTROL, "a");
driver.findElement(By.whatever("anything")).sendKeys(selectAll);

You can use this to select the whole text in an <input>, or on the whole page (just find the html element and send this to it).


EDIT - after OP stated that he's using Selenium Ruby bindings

There's no chord() method in the Keys class in Ruby bindings. Therefore, as suggested by Hari Reddy, you'll have to use Selenium Advanced user interactions API, see ActionBuilder:

driver.action.key_down(:control)
             .send_keys("a")
             .key_up(:control)
             .perform