2017-04-20 48 views
0

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

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

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

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

我能确定其中的大多数。如果我做ele.getTagName()。如果是div我会马上知道。如果它是输入我可以做一个ele.getAttribute(“类型”),看看它是否是复选框。但对于选择标记名会给我选择正常选择选择多个。没有属性名称为多个,那么如何区分选择选择多个

回答

0

你可以做这样的事情:

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

,那么你可以简单的检查,如果这是一个多选元素通过运行:

se.isMultiple() 
0

您可以使用XPath表达选择selectmultiple属性:

//select[@multiple] 

select没有multiple属性:

//select[not(@multiple)] 

还要注意的是,即使没有明确的价值multiple属性,实际值是"true",所以如果multipleselect当前属性,ele.getAttribute("multiple")应该返回"true"