2017-02-09 63 views

回答

1

假設您的日期選擇器日曆是可以使用的表格格式:

public void checkDate(){ 

String currentDate = null; 
int counter=0; 

WebElement tab = driver.findElement(By.id("tabid")); 

List<WebElement> rows= tab.findElements(By.tagName("tr")); 

for(int i =0;i<=rows.size()-1;i++){ 



    List<WebElement> columns=rows.get(i).findElements(By.tagName("td")); 
    Iterator itr = columns.iterator(); 


    while(itr.hasNext()){ 

     WebElement we=(WebElement) itr.next(); 

     if(we.getText().equals(currentDate)){ 

      break; 

     } 

     counter=counter+1; 
    } 

//element to be clicked is +5 to current date 
if(driver.findElement(By.cssSelector("tr:nth-child(i) li:nth-child(counter+5)")).isDisplayed()){ 
    driver.findElement(By.cssSelector("tr:nth-child(i) li:nth-child(counter+5)")).click(); 
} 
} 

PS。這應該符合您的目的,但是當您的當前日期位於表格的最後一列時,您需要處理這種情況。

+0

同意你的答案,但有如果我的日期是27月或者28,然後+5將是不可能的,因爲這個日期會在下個月ANS這將是另一個關注禁用,直到我們選擇下個月從 – user7541973

+0

下面提到的上述calander ..我仍然在尋找完美的解決方案 – user7541973

+0

是的,這將是一點棘手 – kushal

1

首先在日期中添加5天。然後只提取日期的整數值和月份的整數值。一旦你有這些值,你可以很容易地選擇日期。

下面的代碼使用

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
Calendar c = Calendar.getInstance(); 
c.setTime(new Date()); // Now use today date. 
c.add(Calendar.DATE, 5); // Adding 5 days 
String output = sdf.format(c.getTime()); 
int month = c.get(Calendar.MONTH)+ 1; 
int day = c.get(Calendar.DAY_OF_MONTH); 
System.out.println("Month : " + month + " day : " + day); 
+0

Akash ..我上面的代碼我不明白我們在哪裏比較當前的日期。什麼是當前日期是28和+5日期ID 3月3日是禁用..在這種情況下我們應該做什麼 – user7541973