例如,我想从多选选项列表字段中选择特定 optgroup 下的选项
<select id="xyz">
<optgroup label="Group1">
<option value="1">pick1</option>
<option value="2">pick2</option>
</optgroup>
<optgroup label="Group2">
<option value="3">pick3</option>
<option value="4">pick4</option>
</optgroup>
</select>
如果选项列表字段如上所示,我可以使用
new Select(driver.findElement(By.id("xyz"))).selectByVisibleText("pick1");
new Select(driver.findElement(By.id("xyz"))).selectByVisibleText("pick2");
用于选择上面 optgroup -Group1 下的所有选项。
在这里我知道 Group1 中存在哪些选项,因此我可以像上面那样进行选择。
但我的要求是动态的,我需要选择 optgroup-Group1 下的所有选项。
如果我想动态选择所有选项,包括组 1 和组 2
然后我可以使用
new Select(driver.findElement(By.id("xyz"))).getOptions();
将所有选项作为列表获取,我可以将其存储为数组,并且可以使用数组一一选择所有选项
但是我怎样才能获得一个特定的选项组(例如 Group1 或 Group2)下的所有选项呢?
你应该使用xpath and findElements
:
driver.findElements(By.xpath("xpath = "//select[@id='xyz']/optgroup[@label='Group1']/option")))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)