Selenium用Java如何处理组合框

时间:2014-10-23 07:33:01

标签: java selenium

我想从组合框中选择一个值。 我试过这个:

@Test(enabled = true)
    public void hierarchyLegendArea() throws Exception {
        setUp(Constants.BASE_URL_NAME, "chrome");
        selenium.setSpeed("1500");
        selenium.open(Constants.OPEN_NMA_TEMPLATE_DIR);
        selenium.windowMaximize();
        Thread.sleep(15000);


        String comboBoxId = "//*[@id=\"contentTopBarCombobox\"]/div/div[1]/div[2]";
        String valueInSideComboBoxId ="combo_box_values_cachable";
        selenium.click(comboBoxId); 
        Thread.sleep(1000);
        selenium.click(valueInSideComboBoxId); 
}

但这没效果。 有谁知道如何从组合框中选择一个值?

当我尝试添加驱动程序变量eclips时,我要声明它

1 个答案:

答案 0 :(得分:1)

试试这个;

WebDriver driver = new FirefoxDriver();
Select dropDown = new Select(driver.findElement(By.id("contentTopBarCombobox")));
dropDown.selectByValue("yourValue");

或者

WebDriver driver = new FirefoxDriver();
Select dropDown = new Select(driver.findElement(By.id("contentTopBarCombobox")));
dropDown.selectByIndex(1);//choose your value index, for example I choose index 1.

您需要导入此

import org.openqa.selenium.WebDriver;

在您的班级中添加驱动程序变量时。如果您使用selenium rc(旧版本),则使用selenium.select代替selenium.click。请参阅

selenium.select("yourComboName", "label=yourValue");