在Java + Selenium WebDriver中提取select的选项

时间:2016-05-24 15:23:00

标签: java selenium

我想提取选择信息并打印到控制台,已经尝试过各种方式,但selenium无法找到元素,我已经使用了隐式和显式等待,但仍然不能。

<form style="display:inline" name="productForm" action="lib/general/navBar.php" method="get">

                        <input type="hidden" name="CSRFName" value="CSRFGuard_1364551223">

                        <input type="hidden" name="CSRFToken" value="19838e996a1a94dc508c12fab4ee5c845e4"> Projeto de Teste
    <select style="font-size: 80%;position:relative; top:-1px;" name="testproject" onchange="this.form.submit();">
             <option value="470258" title="Criação de Nova Faixa de Planos Pós PF - 106227 ">
            Criação de Nova Faixa de Planos...</option>
        <option value="469505" title="Limite de Utilização Diferente para Cliente Base que Migrou para Combo Multi - 105942" selected="selected">
            Limite de Utilização Diferente...</option>
        <option value="469489" title="Campanha 0500 Gente Especial 2016 - 106185">
            Campanha 0500 Gente Especial...</option>
        <option value="469477" title="Teste CTC 2016 - 33333333">
            Teste CTC 2016 - 33333333</option>

    </select>

1 个答案:

答案 0 :(得分:2)

如果元素位于iframe内,则需要位于iframe的上下文中才能找到其中的元素。进入后,找到select元素(例如,按名称),实例化Select类实例并使用getOptions()方法获取选项:

driver.switchTo().frame("frame_name_or_id");

Select select = Select(driver.findElement(By.name("testproject")));
List<WebElement> options = select.getOptions();

for (WebElement option : options) {
    System.out.println(option.getText());
}