Selenium等到文本框值发生变化

时间:2013-10-08 03:48:40

标签: selenium-webdriver

我遇到了一种情况,选择组合框值文本框值的变化。我需要等到文本框更改为特定值。我试过wait.Until,请帮我解决这个问题。

3 个答案:

答案 0 :(得分:0)

如果您已经知道了值,那么在组合框更改后将在文本框中反映出来。然后你可以创建一个类似的xPath。

// * [含有(文本(), 'Expectedvalue']

然后创建一个方法来检查xPath是否可用。

 public boolean isElementPresent(String xPath)` 
 { 
    try
    {
       this.driver.findElement(By.xpath(xPath);
       return true;
     } 
       catch()
      {
        return false;
      }
  }

然后你可以使用while循环检查

`//Do the code for changing combo box value
  while(isElementPresent("//*[contains(text(),'Expectedvalue']")
 {//do the necessary actions}`

答案 1 :(得分:0)

//假设编辑了组合框,文本框也可见

while(! driver.findElement(By.xpath("textboxXpath")).getText().equalsIgnoreCase("expected value"))
{
   System.out.println("waiting for text to be loaded");
}

此循环结束时,必须使用预期值加载文本框 的注意: 这可能会导致您无限执行。实施有限制。

答案 2 :(得分:0)

while(! driver.findElement(By.id("id_of_combo_box")).getAttribute("value").equals("Expected Value"))
{/*Loops till value is written*/}

这里我们循环直到组合框的值等于期望值。