等到textbox selenium中没有文本

时间:2016-05-26 09:25:05

标签: java selenium selenium-webdriver

以下是我尝试自动化的方案:

webReq.Referer = "http://www.alchourouk.com/";

请帮助我,如何等到文本框值为空。

我正在使用IE驱动程序进行自动化。

提前致谢

4 个答案:

答案 0 :(得分:0)

我会尝试: int timeout = 10; // depends on your needs WebDriverWait myWait= new WebDriverWait(driver,timeout); myWait.until(ExpectedCondition.textToBePresentInElementValue(By locator, String text))
- 将空字符串作为文本参数传递

答案 1 :(得分:0)

你可以试试这样的:-

public void waitUntilTextNotToBeInWebElement(WebElement element, String textValue) {
    int timer = 0;
    final int pollInterval = 500;
    while (timer < MAX_TIME*1000) {
        if (element.getText().equalsIgnoreCase(textValue)) {
           sleep(500);
           timer += pollInterval;
        } else {
            return;
        }
    }
    throw new TimeoutException("Maximum time exceeded.");
}

答案 2 :(得分:-1)

您可以通过两种方式执行此操作

1.使用预期条件

public class MyClass : MyView
{
 List<Color> _listOfColors = new List<Color>();
 public MyClass(){ MyInitColor(); }

 public ICommand CommandChangeColor
 {
      get { return new MyCommand(ChangeColor); }
 }

 public void ChangeColor()
 {
     MessageBox.Show("Color before: " + MainCanvas.Background.ToString());

     Random rnd = new Random();
     int i = rnd.Next(_listOfColors.Count - 1);
     MainCanvas.Background = new SolidColorBrush(_listOfColors[i]);

     MessageBox.Show("Color after: " + MainCanvas.Background.ToString());
 }    
}
  1. 使用if else

    // after you have clicked on radio button and it does some processing
        WebDriverWait wait = new WebDriverWait(driver,30);
        wait.until(ExpectedConditions.invisibilityOfElementWithText(locator, "your text"));
        // now perform your operation
    

答案 3 :(得分:-1)

下面的代码对我有用。

    WebElement element=driver.findElement(By.id("ctl00_cphClaimFlow_tabcontainerClaimFlow_tabFulfillment_Shipping_ctl33_txtStreeAddress1"));
     String myInitialText=element.getAttribute("value");
     //click on radio btn
     driver.findElement(By.id("ctl00_cphClaimFlow_tabcontainerClaimFlow_tabFulfillment_Shipping_ctl33_radNewAddress")).click();
     logger.info("New Address radio button clicked");
     System.out.println("1 "+myInitialText);
    while(!myInitialText.equals("")){
        try {
            Thread.sleep(5000);
            logger.info("Thread is sleeping");
            //System.out.println("2 "+myInitialText);
            myInitialText=driver.findElement(By.id("ctl00_cphClaimFlow_tabcontainerClaimFlow_tabFulfillment_Shipping_ctl33_txtStreeAddress1")).getAttribute("value");
            //System.out.println("3 "+myInitialText);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    driver.findElement(By.id("ctl00_cphClaimFlow_tabcontainerClaimFlow_tabFulfillment_Shipping_ctl33_txtStreeAddress1")).sendKeys(td.getAddressLine1().get(0));
     logger.info("Address Line1 entered");