确定选择多个选择

时间:2017-04-20 13:14:45

标签: selenium xpath

这可能有一个简单的答案,但我无法通过搜索找到答案。我正在使用Selenium和Java。

我有几个元素(WebElement ele)。我通过除直接标记名称以外的方式找到它们,所以我不能简单地使用xpath来回答我的问题。

我有几种可能的元素类型:

<div>
<input>
<input type = "checkbox">
<select>
<select multiple>

我可以确定其中的大多数。如果我做 ele.getTagName()。如果是 div ,我马上就会知道。如果它是输入我可以做一个ele.getAttribute(&#34; type&#34;)并查看它是否是复选框。但是对于 select ,标记名将为我选择常规选择选择多个。该倍数没有属性名称,那么如何区分选择选择多个

2 个答案:

答案 0 :(得分:0)

你可以这样做:

//if its a select element
Select se = new Select(ele);

然后你可以通过运行:

来简单地检查这是否是一个多选元素
se.isMultiple()

答案 1 :(得分:0)

您可以使用XPath表达式选择select multiple属性:

//select[@multiple]

select 没有 multiple属性:

//select[not(@multiple)]

另请注意,即使没有multiple属性的显式,实际值仍为"true",因此如果multiple中存在select属性, ele.getAttribute("multiple")应该返回"true"