无法从下拉选项中选择

时间:2019-03-30 09:13:50

标签: java selenium-webdriver

无法从下拉选项中选择“德里”。....x路径可能不正确...

public class spicejet {

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver","C:\\Users\\hp\\Desktop\\Colin\\chromedriver.exe");
        WebDriver driver= new ChromeDriver();
        driver.get("https://www.spicejet.com/");

        driver.findElement(By.id("ctl00_mainContent_rbtnl_Trip_0")).click();
        driver.findElement(By.id("ctl00_mainContent_ddl_originStation1_CTXT")).click();
        driver.findElement(By.xpath("//a[contains(@text,'Kochi')]")).click();

        driver.findElement(By.id("ctl00_mainContent_ddl_destinationStation1_CTXT")).click();
       List<WebElement> list=driver.findElements(By.xpath("//div[contains(@class,'dropdownDiv')]//ul//li//a"));
        System.out.println(list.size());
        for(int i=0; i<list.size(); i++) {
            System.out.println(list.get(i).getText());
            if(list.get(i).getText().contains("Delhi (DEL)"));{
        list.get(i).click();
        break;

1 个答案:

答案 0 :(得分:0)

您的xpath是正确的。但是,在;之类的if条件中使用了终止符if(list.get(i).getText().contains("Delhi (DEL)"));,因为if条件正在终止,并且列表中的第一个元素已从行中选择下一行提到的代码集。您需要从;条件中删除if,然后一切正常。

除此之外,您还可以通过下面提到的方法改善xpath:

List<WebElement> list=driver.findElements(By.xpath("//div[@class='dropdownDiv']//li"));