在makemytrip网站下选择下拉元素时遇到问题

时间:2014-09-01 13:34:32

标签: selenium dropdownlistfor

在选择以下网站下拉元素时遇到问题

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

我无法选择下面列出的任何一个城市。 请帮我解决问题。

尝试的方案

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

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

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

2 个答案:

答案 0 :(得分:3)

这有效:

    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);

答案 1 :(得分:0)

以下是工作样本:

//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();

如果你想使用输入框从DropDown输入任何值,你需要找到该元素并使用sendKeys设置它的值。 E.g:

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