Selenium webdriver:默认值未清除的文本字段

时间:2015-10-20 11:19:00

标签: firefox selenium webdriver

我必须在表单的文本字段中输入日期。默认情况下,文本字段使用当前日期填充。所以我使用

清除了该字段
    driver.findElement(By.xpath(OR.getProperty(object))).clear();
    driver.findElement(By.xpath(OR.getProperty(object))).sendKeys(date);

一些迭代工作正常。但在连续循环模式下,clear函数不起作用。简而言之,这将使该领域保持当前日期。 我正在使用firefox的selenium web驱动程序

1 个答案:

答案 0 :(得分:0)

在循环中,您可能会在日期设置之前面临清算,因此请避免这种情况,您应该在清除文本字段中的日期之前添加一些等待。最简单的方法是添加sleep,但更好的方法是添加wait until。见下文:

Thread.sleep(1000);
driver.findElement(By.xpath(OR.getProperty(object))).clear();
driver.findElement(By.xpath(OR.getProperty(object))).sendKeys(date);

你应该在文本框中找到xpath / css选择器,然后等到它加载:

WebDriverWait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//* ...")));
driver.findElement(By.xpath(OR.getProperty(object))).clear();
driver.findElement(By.xpath(OR.getProperty(object))).sendKeys(date);