8

这是一段 UI 代码

<select id="order_unit_line_rate_806782_is_addenda_enabled" class="selects_for_487886" onchange="select_addendum(806782, this);dateShowMemory(this.options[this.selectedIndex].value, '806782');" uniqueattr="Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / drop down" name="order_unit_line_rate[806782][is_addenda_enabled]">
     <option value="0" uniqueattr="Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / Fee">                     Fee                   </option>
     <option value="1" uniqueattr="Dynamic Site Accelerator / Dynamic Site Accelerator / Additional Usage Commitment / See Attached Addendum">                     See Attached Addendum                   </option>
</select>

<option>标签嵌套在标签内的位置<select>。我需要click()在第二个<option>元素上,它是下拉列表中的一个项目。当我尝试使用 id / uniqueattrclick()在标签上时,下拉菜单是可点击的。<select>

如何遍历<option>嵌套在下面的标签<select>并单击正确的项目?

4

2 回答 2

10

除了正确的 Qwerky 的答案,你还可以做简单的

driver.findElement(By.xpath("//select/option[@value='1']")).click();

这会找到option元素value='1'并单击它,实际上是在下拉列表中选择它。

我的解决方案和 Qwerky 的解决方案都在文档中进行了描述和解释

于 2012-07-05T12:20:07.347 回答
6

这将在 ID 为“order_unit_line_rate_806782_is_addenda_enabled”的选择中选择值为“1”的选项。

Select select = (Select)webdriver.findElement(By.id("your id here"));
select.selectByValue("1");

您也可以按索引或文本选择;请参阅文档

于 2012-07-05T11:15:17.223 回答