首页 > 解决方案 > 解决:JAVA Selenium:无法在输入上设置值

问题描述

我想为我尝试的输入设置一个值:

find(By.xpath("MyXpath")).type(montant);    

find(By.xpath("MyXpath")).typeAndTab(montant) ;

find(By.xpath("MyXpath")).typeAndEnter(montant) ;

getDriver().findElement(By.xpath("MyXpath")).sendKeys("value", "5");

getDriver().findElement(By.xpath("MyXpath")).sendKeys(Keys.HOME,Keys.chord(Keys.SHIFT,Keys.END),"5");

Actions actionInput = new Actions(getDriver());
     actionInput.moveToElement(find(By.xpath("MyXpath"))).clickAndHold().sendKeys(montant).
     release().build().perform();

getDriver().findElement(By.xpath("MyXpath")).click() ;
getDriver().findElement(By.xpath("MyXpath")).clear() ;
getDriver().findElement(By.xpath("MyXpath")).sendKeys(Keys.HOME,Keys.chord(Keys.SHIFT,Keys.END),"5");

没有任何工作..

但是我无法设置输入的值,当我清除时,该字段为空,所以它不是我的 xpath,我此时没有错误,测试正常继续测试的其余部分,但最后的结果是不好,因为该字段未设置为好的值:/

有人有想法吗?

输入:

<input class="MyClass" input-number="" type="number" value="valAngular" min="0" max="100" xpath="1">

该值是用 Angular 设置的,有问题吗?

感谢您的帮助 !

编辑:我看网站的开发人员,它解决了,在 DOM 块宁静中设置的角度属性

标签: javaselenium-webdriver

解决方案


WebDriver 驱动程序;// 赋值给别处 JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("document.getElementByClassName('MyClass').setAttribute('value', '10')");


推荐阅读