这是一段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 / uniqueattr在click()
标记上<select>
时,可以点击下拉列表。
如何遍历嵌套在<option>
下的<select>
代码,然后点击右边的项目?
答案 0 :(得分:8)
除了正确的Qwerky的答案,你也可以做简单的
driver.findElement(By.xpath("//select/option[@value='1']")).click();
这会找到带有option
的{{1}}元素并点击它,实际上会在下拉列表中选择它。
描述了我和Qwerky的解决方案explained here, in the documentation。
答案 1 :(得分:5)
这将在id为“order_unit_line_rate_806782_is_addenda_enabled”的select中选择值为“1”的选项。
Select select = (Select)webdriver.findElement(By.id("your id here"));
select.selectByValue("1");
您也可以按索引或文字进行选择; see the docs