Java SendKeys()不';I don’我不能只在表格的一个领域工作

Java SendKeys()不';I don’我不能只在表格的一个领域工作,java,selenium,automation,sendkeys,Java,Selenium,Automation,Sendkeys,我对sendKeys()有点问题。在我的表格中,它并不是只在一个领域有效。 当我填写字段时,我的字段的值没有改变,测试通过时没有错误消息 Ps:我试图在另一个字段中发送值+newVariable.getDecimalPlaces(),结果它成功了。 问题只是来自这个字段,因为我确实单击了XPath,所以知道它是正确的 有人来帮我吗!谢谢:) 首先,元素的标签应该是“input”。例如: public静态最终字符串XPATH\u DECIMAL\u PLACES=“//输入[@id=\“flo

我对
sendKeys()
有点问题。在我的表格中,它并不是只在一个领域有效。 当我填写字段时,我的字段的值没有改变,测试通过时没有错误消息

Ps:我试图在另一个字段中发送值
+newVariable.getDecimalPlaces()
,结果它成功了。 问题只是来自这个字段,因为我确实单击了XPath,所以知道它是正确的

有人来帮我吗!谢谢:)

  • 首先,元素的标签应该是“input”。例如:
public静态最终字符串XPATH\u DECIMAL\u PLACES=“//输入[@id=\“floatValue\]”

  • 然后,您可以尝试将此代码用于sendkeys:
  • 如果它仍然不起作用。请向我展示元素的html或该元素的屏幕截图

如果是输入框,请尝试使用JavaScriptExecutor在输入框中设置值,其中[id=“floatValue”]是输入字段的CSS定位器:

((JavascriptExecutor)驱动程序).executeScript(“document.querySelectorAll('[id=“floatValue”]')[0].值=\“要输入的文本\”)


在某些文本字段中,Selenium发送键似乎不起作用。在我的例子中,我能够在JavaScript的帮助下在文本字段中输入文本。请尝试上面的代码,让我知道它是否工作

html代码是:
您的代码不适合我:(对于Xpath(),我右键单击()并复制了Xpath()当您单击日期选择器时,是否检查输入元素是否已更改?我没有日期选择器!这是一种允许使用两个按钮放置数字的输入,如果您想减少和增加数字,我可以在按钮上执行
单击()
您使用了哪个版本的浏览器和selenium?此解决方案可能会帮助您:有效的字段的输入类型是否为“number”?否工作的字段具有文本类型某些浏览器将显示不同的数字类型控件,该控件不会像正常输入那样返回光标位置。当webdriver尝试发送键时,这可能会导致一些怪癖。(我认为它会尝试将光标放在输入的文本之后……但这将失败)@Nico Haase更新了我的答案,如果您有任何问题,请告诉我
        WebElement decimalPlacesTxtBox = driver.findElement(By.xpath(AreaUtils.XPATH_DECIMAL_PLACES));
        action.doubleClick(decimalPlacesTxtBox).perform();
        decimalPlacesTxtBox.sendKeys("" +newVariable.getDecimalPlaces()); 

**The xpath :** 
    public static final String XPATH_DECIMAL_PLACES     = "//*[@id=\"floatValue\"]";  

Actions actions = new Actions(driver);
actions.moveToElement(element);
actions.click();
actions.sendKeys(text);
actions.build().perform();