2016-07-15 63 views
0

因此,爲了學習,我試圖在Expedia.com 中自動執行搜索過程,我的代碼選擇「一攬子交易」,然後「航班+酒店+汽車」開始輸入值。 (取決於你的位置,你可能會看到不同組的面板)如何使用Selenium WebDriver清除JS輸入中填充的值?

問題是,我試圖通過選擇它們並以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); 


} 

我該如何解決這個問題?

回答

2

看來你需要點擊的SendKeys之前清除它:

public void selectReturningDate(String date) 
{ 
    WebElement dte= driver.findElement(arrivalDate); 
    det.click(); 
    dte.clear(); 
    dte.sendKeys(date); 
} 
+0

你嘗試了嗎?當我嘗試它時,它清除了,添加了我想要添加的日期,但是當腳本移動時,日期恢復爲來自js的日期。所以測試仍然失敗。 – gasmsk

+0

@gasmsk是的,我試過了,效果很好。你可以刪除隱含的等待,然後再試一次嗎? – Buaban

+0

我做過了,當腳本向前移動時仍然回覆到js日期。我該怎麼辦? – gasmsk

相關問題