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

Firefox Selenium webdriver:未清除默认值的文本字段,firefox,selenium,webdriver,Firefox,Selenium,Webdriver,我必须在表单的文本字段中输入日期。默认情况下,文本字段填充当前日期。所以我用 driver.findElement(By.xpath(OR.getProperty(object))).clear(); driver.findElement(By.xpath(OR.getProperty(object))).sendKeys(date); 它在一些迭代中运行良好。但在连续循环模式下,清除功能不起作用。简而言之,这将使字段保持当前日期。 我正在将selenium web驱动程序与f

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

    driver.findElement(By.xpath(OR.getProperty(object))).clear();
    driver.findElement(By.xpath(OR.getProperty(object))).sendKeys(date);
它在一些迭代中运行良好。但在连续循环模式下,清除功能不起作用。简而言之,这将使字段保持当前日期。
我正在将selenium web驱动程序与firefox一起循环使用,您可能会在日期设置之前面临清除,因此要避免这种情况,您应该在文本字段中清除日期之前添加一些等待。最简单的方法是添加
睡眠
,但更好的方法是添加
等待
。见下文:

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);

或者.getProperty(object))调用它时会得到什么?如果需要helpdriver.findElement(By.xpath(“//input[@id='IDOFINPUT']),请提供正确的HTML源代码;你怎么说清除功能不起作用?您输入的新日期将附加到输入字段中的当前日期?指向该站点的链接将非常有用。除此之外,您可以尝试发送CTRL+A命令,然后使用
.sendKeys()
覆盖当前日期。如果看不到网站,在这种情况下很难提供帮助。对延迟回复表示歉意。OR.getProperty(对象))是对象存储库。简而言之,定位器可以是xpath或id或任何有效的webdriver定位器