Selecting all text in an element with Selenium WebDriver normally works like this.
WebElement element = driver.findElement(By.id("foo"));
element.click();
element.sendKeys(Keys.chord(Keys.CONTROL, "a"));
For internet explorer 11 I set these capabilities.
capability = DesiredCapabilities.internetExplorer();
capability.setCapability("nativeEvents", false);
capability.setCapability("enablePersistentHover", false);
capability.setCapability("ignoreZoomSetting", true);
Selecting all text then, does not work. I use Selenium WebDriver 2.48.2 and IEdriverServer 2.48.0.
My quick and dirty solution is to use a robot in the WebDriverEventListener.
Robot r = null;
try {
r = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
...
@Override
public void beforeChangeValueOf(WebElement element, WebDriver driver) {
r.setAutoDelay(30);
r.keyPress(KeyEvent.VK_CONTROL);
r.keyPress(KeyEvent.VK_A);
}
...
@Override
public void afterChangeValueOf(WebElement element, WebDriver driver) {
r.keyRelease(KeyEvent.VK_A);
r.keyRelease(KeyEvent.VK_CONTROL);
}
This works. But who knows a cleaner, less contrived solution?