SendKeys()仅在我的表单的一个字段中不起作用

时间:2019-12-19 10:16:18

标签: java selenium automation sendkeys

sendKeys()有点问题。在我的表单中,它仅在一个字段中不起作用。 当我填写字段时,我的字段的值不会更改,并且测试通过且没有错误消息。

Ps:我试图在另一个字段中发送值+newVariable.getDecimalPlaces(),并且它可以正常工作。 问题仅出自此字段,因为我确实单击了XPath,所以知道 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\"]"; 是正确的。

请任何人帮助我!谢谢:)

tidyverse

2 个答案:

答案 0 :(得分:0)

  • 首先,元素的标签应为“输入”。例如:

public static final String XPATH_DECIMAL_PLACES = "//input[@id=\"floatValue\"]";

  • 然后,您可以尝试将以下代码用于sendkeys:
Actions actions = new Actions(driver);
actions.moveToElement(element);
actions.click();
actions.sendKeys(text);
actions.build().perform();
  • 如果仍然无法正常运行。请向我显示该元素的html或截屏,对该元素进行检查

答案 1 :(得分:0)

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

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

在某些文本字段中,Selenium发送键似乎不起作用。就我而言,我可以借助JavaScript在文本字段中输入文本。请尝试上面的代码,让我知道它是否有效。