解决:JAVA Selenium:无法在输入

时间:2018-06-11 15:03:39

标签: java selenium-webdriver

我想在输入时设置一个值:

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块宁静中设置的angular属性

1 个答案:

答案 0 :(得分:0)

WebDriver驱动程序; //在别处分配 JavascriptExecutor js =(JavascriptExecutor)驱动程序; js.executeScript(&#34; document.getElementByClassName(&#39; MyClass&#39;)。setAttribute(&#39; value&#39;,&#39; 10&#39;)&#34;);