如何通过 Selenium 调用带有大写字母的 sendKeys() 方法

How to invoke sendKeys() method with uppercase letters through Selenium

我需要一些建议来解决以下问题:
我试图在搜索栏中输入大写字母的文本,但收到此错误消息:
"Must provide a location for a move action."

Actions a=new Actions(driver); 
a.moveToElement(driver.findElement(By.cssSelector("#twotabsearchtextbox"))).keyDown(Keys.SHIFT).sendKeys("hello").build().perform();

要将带有 大写字母 的字符序列发送到搜索栏中,您可以使用 toUpperCase() 函数,您可以使用以下解决方案:

String myText =  "hello";
new Actions(driver).moveToElement(driver.findElement(By.cssSelector("#twotabsearchtextbox"))).click().sendKeys(myText.toUpperCase()).build().perform();

我通过在keyDown()方法之前添加click()方法解决了这个问题:

a.moveToElement(driver.findElement(By.cssSelector("#twotabsearchtextbox")))
    .click()
    .keyDown(Keys.SHIFT)
    .sendKeys("hello")
    .build()
    .perform();