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

<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>

最佳答案

如果元素在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());
}

08-17 01:52