Selenium 如何使用键盘发送大写字母?

Selenium 如何使用键盘发送大写字母?,selenium,webdriver,selenium-webdriver,Selenium,Webdriver,Selenium Webdriver,使用下面的代码,它在浏览器URL中发送键,而不是在谷歌搜索文本框中。 我想使用大写的键盘事件在google搜索文本字段中输入文本 driver.get(https://www.google.co.in/); Actions builder = new Actions(driver); Action enterText = builder.click(driver.findElement(By. cssSelector("input[

使用下面的代码,它在浏览器URL中发送键,而不是在谷歌搜索文本框中。 我想使用大写的键盘事件在google搜索文本字段中输入文本

driver.get(https://www.google.co.in/);

    Actions builder = new Actions(driver);
    Action enterText = builder.click(driver.findElement(By.
                       cssSelector("input[type=text]"))).
                       keyDown(Keys.SHIFT).
                       sendKeys("my gmail").
                       keyUp(Keys.SHIFT).
                       build();
    enterText.perform();
你可以用

 driver.findelement("YOURELEMENTLOCATOR").sendKeys(Keys.SHIFT,"yourtexttobetyped") 
例如

    driver.findElement(By.cssSelector("input[type=text]")).sendKeys(Keys.SHIFT,"stackoverflow") 
将向您发送“STACKOVERFLOW”。或者,您可以在发送键中直接发送大写字母,如下所示:

    driver.findElement(By.cssSelector("input[type=text]")).sendKeys("STACKOVERFLOW")

:)

下面的代码是将密码的第一个字母大写。这对我来说非常有效。也请向他人推荐

String password = "Done123!";
password = password.substring(0, 1).toUpperCase() + password.substring(1);
driver.findElement(By.cssSelector("input[type=text]")).sendKeys(password);
谢谢。

简单帮助功能

def capitalized(driver, string):
    for char in string:
        if char.isUpper():
            driver.send_keys(Keys.SHIFT, char)
        else:
            driver.send_keys(char)

您是否尝试使用
发送键(“AABBCC”)
?或者您使用这些按键/向上事件还有其他原因吗?您使用的是Firefox吗?看起来像是一个特定的问题。我测试了Chrome,工作正常。是的,我在FFI中执行了代码如果我没有错,这是URL问题而不是浏览器问题。使用驱动程序。获取(“www.google.co.in”);这在IE中也有效。@user1177636不,它对我来说非常有效。我假设你们都像我一样用java编码。是的,上面的代码可以工作,甚至我也试过了,但我想知道为什么我的代码不能工作。