首页 > 解决方案 > 从下拉列表中选择的值应传递给 java 中的 if 语句

问题描述

我试图通过使用其选择的值并将结果抛出到 if 语句来解决,但它抛出了一个语法错误 ConstructorHeadername 是预期的。

public void selectPolicyType() {
    Select selectByValue = new Select(policytype_drpdown);
    selectByValue.selectByValue("01");
    System.out.println("Selected Policy Type");
    if (selectByValue == 01){
        System.out.println("Auto is selected");
    } else {
        System.out.println("Homeowners is selected");
    }
}

标签: javaseleniumif-statementselectoptions

解决方案


错误是因为您正在将字符串值与 Select 类对象进行比较。

为了检查下拉列表中的选定值。首先需要使用getFirstSelectedOption()方法获取选定的值,然后进行比较。更改您的代码,如下所示:

    String valueToBeSelected = "01";
    WebElement element = driver.findElement(By.your_locator);
    Select select = new Select(element);
    select.selectByValue(valueToBeSelected);
    String selectedValue = select.getFirstSelectedOption().getText();
    System.out.println("Selected Policy Type");
    if (selectedValue.equalsIgnoreCase("Auto")){
        System.out.println("Auto is selected");
    } else if(selectedValue.equalsIgnoreCase("home") {
        System.out.println("Homeowners is selected");
    } else if(selectedValue.equalsIgnoreCase("watercraft") {
        System.out.println("watercraft is selected");
    }

推荐阅读