2017-02-09 43 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