This is a piece of UI code
<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>
where the <option> tags are nested inside the <select> tag. I need to click() on the second <option> element which is an item in the dropdown list. The dropdown is clickable when i try to click() on the <select> tag using id / uniqueattr.
How do I traverse the <option> tags nested under <select> and click on the right item?
Besides the correct Qwerky's answer, you can also do simple
driver.findElement(By.xpath("//select/option[@value='1']")).click();
This finds the option element with value='1' and clicks it, practically selecting it in the drop-down.
Both mine and Qwerky's solution are described and explained here, in the documentation.
This will select the option with value "1" in the select with id "order_unit_line_rate_806782_is_addenda_enabled".
Select select = (Select)webdriver.findElement(By.id("your id here"));
select.selectByValue("1");
You can also select by index or text; see the docs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With