如何在文本框中输入左括号

时间:2014-03-04 10:02:24

标签: java selenium selenium-webdriver

我要求将文本“英语(美国)”传递到文本框中。但是当我使用以下命令时:

driver.findElement(By.id("defaultLang")).sendKeys("English (United States)");

仅在文本框中输入“英国美国”。当WebDriver将文本写入文本框时,缺少打开括号。

3 个答案:

答案 0 :(得分:2)

通过使用此功能,您可以在文本框中输入左括号。

    String a = (Keys.chord(Keys.SHIFT,"9"));
    String b = "AAA";
    String c = "BBB)";
    driver.findElement(By.id("ID")).sendKeys(b+a+c);

结果O / P为:AAA(BBB)

答案 1 :(得分:0)

你应该使用escape在selenium webdriver中发送特殊字符,

我认为你可以尝试这样的事情:

driver.findElement(By.id("defaultLang")).sendKeys("English \(United States\)");

我希望它可以帮到你

答案 2 :(得分:0)

这看起来像一个已知的错误。请参见问题6822 here

您现在可以做的是直接注入JavaScript来设置它。

// untested Java code, provides only the logic, you need debug yourself
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].setAttribute('value', arguments[1]);", driver.findElement(By.id("defaultLang")), "English (United States)");