Raghu lv
Raghu lv

Reputation: 3

Having issue in selecting drop down element under makemytrip website

Having issue in selecting drop down element under the following website

http://flights.makemytrip.com/makemytrip/fareCal.do?intid=NewHP_to_DF_FC_Menu

I'm unable to select any one of the cities listed below. Please help me out resolving the same.

Scenarios Tried

driver.findElement(By.className("chzn-single")).click();

driver.findElement(By.xpath("//span[contains,'NewDelhi']")).click();

driver.findElement(By.xpath("//span[@id='fromcity_chzn']")).click();

Upvotes: 0

Views: 1735

Answers (2)

Andrey Egorov
Andrey Egorov

Reputation: 1269

Here is working sample:

//First get main dropDowns
var leavingFromDropDown = driver.FindElement(By.Css("#fromcity_chzn"));
var goingToDropDown = driver.FindElement(By.Css("#tocity_chzn"));

//Select value from first dropDown using dropDown items index
//First click on dropDown to open it
leavingFromDropDown.click();
//Now find items in it and click on any item using it's index (also can be used method to access this elements using their names
leavingFromDropDown.FindElements(By.Css(".active-result"))[1].click();
//this dropDown closes automatically, but if not you need to click on it again to close

//Same perform with second element
goingToDropDown.click();
goingToDropDown.FindElements(By.Css(".active-result"))[2].click();

If you want to use input box to enter any value from DropDown you need to find that element and using sendKeys set it's value. E.g.:

leavingFromDropDown.click();
var input = leavingFromDropDown.FindElement(By.Css(".chzn-search > input"));
input.sendKeys('Goa');
input.sendKeys(Keys.Enter);//or tab

Upvotes: 0

Chandan Nayak
Chandan Nayak

Reputation: 10927

This works:

    WebElement leavingFrom = driver.findElement(By.xpath("//*[@id='fromcity_chzn']/a"));
    WebElement goingTo = driver.findElement(By.xpath("//*[@id='tocity_chzn']/a"));

    leavingFrom.click();
    leavingFrom.sendKeys("Bangalore");
    leavingFrom.sendKeys(Keys.RETURN);

    goingTo.click();
    goingTo.sendKeys("Goa");
    goingTo.sendKeys(Keys.RETURN);

Upvotes: 3

Related Questions