首页 > 解决方案 > 尝试从 RedBus.com 选择继续日期

问题描述

我是硒的新手。我正在尝试从 RedBus.com 选择 Onward 日期,有人可以帮助我吗?以下是我尝试过的代码。

public class RedBusSearch extends RedBusLibraries {

 public RedBus red = null;
 public WebDriver driver = null;

 @Test public void travel() {

 logger = extent.createTest("SpiceJet flight bookin");

  red = new RedBus(driver); 

  delay(3000); 

 input(red.getSource(), "Hyderabad", "source"); 

  input(red.getDestination(), "Bangalore", "Destination"); 

   click(red.getOnwardDate(), "onwards date"); 

  driver.findElement(By.xpath("//div[@id='rb-calendar_onward_cal']")); 

  List<WebElement> month = driver.findElements(By.xpath("//div[@class='rb-calendar']/table/tbody/tr/td")); 

 System.out.println(month.size());

for (WebElement ele : month)
{

 if (ele.getText().equals("15")) 

    ele.findElement(By.linkText("15")).click();

  break;

     }
  }
}

,,,

标签: seleniumselenium-webdriver

解决方案


您必须单击下个月按钮,直到您达到一年中所需的月份。然后选择日期。这是选择的逻辑15 May 2019

driver.findElement(By.cssSelector("[for='onward_cal']")).click();
    //select month
    while(!driver.findElement(By.cssSelector("#rb-calendar_onward_cal .monthTitle")).getText().equals("May 2019")) {
        driver.findElement(By.cssSelector(".rb-calendar#rb-calendar_onward_cal .next button")).click();
        System.out.println(driver.findElement(By.cssSelector("#rb-calendar_onward_cal .monthTitle")).getText());
        Thread.sleep(1000);
    }
    //select date
    driver.findElement(By.xpath("//div[@id='rb-calendar_onward_cal']//td[.='15']")).click();

推荐阅读