我必须在表单的文本字段中输入日期。默认情况下,文本字段使用当前日期填充。所以我使用
清除了该字段 driver.findElement(By.xpath(OR.getProperty(object))).clear();
driver.findElement(By.xpath(OR.getProperty(object))).sendKeys(date);
一些迭代工作正常。但在连续循环模式下,clear函数不起作用。简而言之,这将使该领域保持当前日期。 我正在使用firefox的selenium web驱动程序
答案 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);