我想提取选择信息并打印到控制台,已经尝试过各种方式,但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>
答案 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());
}