如何正确选择下拉菜单中的项目?

时间:2019-11-03 20:24:28

标签: java selenium automation automated-tests selenium-chromedriver

我是自动化测试的新手,现在我正尝试在下拉菜单中选择值。据我了解,在我的示例中有2个下拉列表,但是缺乏经验使得很难找到解决该问题的方法。我现在正在https://www.spicejet.com/上工作,我要做的是在点击成人之后选择乘客并设置应该有多少成人。

我一直在观看如何选择下拉菜单的视频,很少有人建议使用简单的驱动程序,并通过单击其他操作来创建Select对象并使用它。由于错误,没有编写太多代码。另外,据我了解,我对创建“新对象”,将驱动程序对象传递给他并执行操作感到迷惑不解?

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select;

public class dropdown {

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\chromedriver.exe");

        WebDriver driver = new ChromeDriver();

        driver.get("https://www.spicejet.com/"); // URL in the browser

        driver.manage().window().maximize(); // Maximize the browser

        Select s = new Select(driver.findElement(By.id("ctl00_mainContent_ddl_originStation1")));
        s.selectByValue("2");
    }
}

这个作品->

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select;

public class dropdown {

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\chromedriver.exe");

        WebDriver driver = new ChromeDriver();

        driver.get("https://www.spicejet.com/"); // URL in the browser

        driver.manage().window().maximize(); // Maximize the browser

        // Get specific area to save it as variable and check it later if we are in right web page
        String verifyPage = driver.findElement(By.xpath("//span[contains(text(),'Flights')]")).getText();

        // Check it with IF
        if (verifyPage.contentEquals("Flights")) {
            System.out.println("[1] You are IN the right page.");
        } else {
            System.out.println("[2] You are NOT in the right page.");
        }

        driver.findElement(By.xpath("//div[@id='divpaxinfo']")).click();
        Select dropdown = new Select(driver.findElement(By.xpath("//select[@id='ctl00_mainContent_ddl_Adult']")));
        dropdown.selectByIndex(1);
    }
}

1 个答案:

答案 0 :(得分:0)

s.selectByValue("AMD");

选择/取消选择其“值”属性与指定参数匹配的选项。 更正了您的代码。希望获得帮助。否则请粘贴错误消息