Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过Selenium使用大写字母调用sendKeys()方法_Selenium_Selenium Webdriver_Webdriver_Sendkeys - Fatal编程技术网

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

如何通过Selenium使用大写字母调用sendKeys()方法,selenium,selenium-webdriver,webdriver,sendkeys,Selenium,Selenium Webdriver,Webdriver,Sendkeys,我需要一些建议来解决以下问题: 我试图将大写字母的文本写入搜索栏,但收到了以下错误消息: “必须为移动操作提供位置。” 要将带有大写字母的字符序列发送到搜索栏,可以使用toUpperCase()函数,并且可以使用以下解决方案: String myText = "hello"; new Actions(driver).moveToElement(driver.findElement(By.cssSelector("#twotabsearchtextbox"))).click().sendKeys

我需要一些建议来解决以下问题:
我试图将大写字母的文本写入搜索栏,但收到了以下错误消息:
“必须为移动操作提供位置。”


要将带有大写字母的字符序列发送到搜索栏,可以使用
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();

也许如果你把长长的命令链分解成单独的命令,你就能准确地看到你的问题在哪里?为了使这一点起作用,
click()
方法需要在
sendKeys()
@BOB更新答案之前满足你的要求。让我知道情况。
a.moveToElement(driver.findElement(By.cssSelector("#twotabsearchtextbox")))
    .click()
    .keyDown(Keys.SHIFT)
    .sendKeys("hello")
    .build()
    .perform();