如何使用Selenium WebDriver清除JS填充的输入值?

时间:2016-07-15 00:37:41

标签: java selenium selenium-webdriver

因此,为了学习,我试图在Expedia.com中自动执行搜索过程 我的代码选择"捆绑交易",然后"航班+酒店+汽车"然后开始输入值。 (取决于您的位置,您可能会看到不同的面板集)

问题是,我试图通过选择它们并以mm / dd / yyyy格式插入日期来自动完成出发和到达日期。一切都很顺利,直到它试图在返回日期输入日期。它输入日期,然后JS更改日期,我的测试失败。

public void selectDepartingDate(String date)
 {
     WebElement dte= driver.findElement(departDate);
     dte.sendKeys(date);


 }

 public void selectReturningDate(String date)
 {
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
     WebElement dte= driver.findElement(arrivalDate);

     dte.sendKeys(date);


 }

我究竟能解决这个问题?

1 个答案:

答案 0 :(得分:4)

似乎您需要在sendKeys:

之前单击并清除它
public void selectReturningDate(String date)
{
    WebElement dte= driver.findElement(arrivalDate);
    det.click();
    dte.clear();
    dte.sendKeys(date);
}