当相应的下拉列表不是“多选”/ java& amp;时,如何从下拉列表中取消选择一个选项。硒

时间:2016-09-28 15:44:23

标签: java selenium

我尝试在多个下拉列表中使用objname.deselectByVisibileText()(选择/跨度),我收到以下错误

  

线程“main”中的异常java.lang.UnsupportedOperationException:您只能取消选择多选的选项。

如何清除相应的字段?我的方法atm看起来像这样:

public void deselect(String s, String t)
{
    WebElement element = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(s)));
    Select select = new Select(element);
    select.deselectByVisibleText(t);
}

显然,我需要一个没有取消选择的解决方案,因为它们都没有工作(byValuebyIndex等),原因与上面相同。

2 个答案:

答案 0 :(得分:0)

通常,第一个选项是默认选项。你可以选择它。

select.selectByIndex(0);

答案 1 :(得分:0)

如果您有一个如下所示的select元素:

<select id="ddlViewBy">
  <option value="1">test1</option>
  <option value="2" selected="selected">test2</option>
  <option value="3">test3</option>
</select>

运行代码:

var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex];

将返回所选选项。 现在你必须知道所选的索引。所以,使用javascript执行器取消选择它