我希望有人可以帮我解决这个问题。 必须选择动态下拉列表中只有一个是活动的,禁用否。以下是下拉列表的一部分。
<option value="1-2639425" disabled="disabled">21/10/2017 16:45 - Felipe Arantes - Josh Emmett (No odds available)</option>
<option value="1-2636744" disabled="disabled">21/10/2017 16:45 - Jim Wallhead - Warlley Alves (No odds available)</option>
<option value="1-2633126">21/10/2017 20:00 - Donald Cerrone - Darren Till</option>`
有些事情让我困惑:
我必须只选择其中没有'没有赔率'的选项 - 它们是可点击的(没有'没有赔率'的那些)
可以选择的那个位于第3个位置(如上所示) - 可以是第一个,第二个,第50个
实际上,我必须选择第一个可点击的(无论选项列表中的哪个位置)
尝试使用此代码但没有任何成功:
Select dropdown=new Select(driver.findElement(By.xpath("xpath to 3rd option")));
dropdown.selectByIndex.selectByIndex(2);
Thread.sleep(5000);
请帮忙。提前谢谢你。
答案 0 :(得分:0)
您可以使用getOptions()
获取所有选项,然后获得第一个选项,而不是&#34;没有可用的赔率&#34;文本或disabled
属性。然后,您可以使用Select
使用value
属性
此外,Select
类没有选项作为参数,它将父<select>
标记作为参数
Select dropdown = new Select(driver.findElement(By.xpath("xpath to the select tag")));
List<WebElement> options = dropdown.getOptions();
for (WebElement option : options) {
// if (option.getAttribute("disabled") != null)
if (!option.getText().contains("No odds available")) {
String value = option.getAttribute("value");
dropdown.selectByValue(value);
break;
}
}