这可能有一个简单的答案,但我无法通过搜索找到答案。我正在使用Selenium和Java。
我有几个元素(WebElement ele)。我通过除直接标记名称以外的方式找到它们,所以我不能简单地使用xpath来回答我的问题。
我有几种可能的元素类型:
<div>
<input>
<input type = "checkbox">
<select>
<select multiple>
我可以确定其中的大多数。如果我做 ele.getTagName()。如果是 div ,我马上就会知道。如果它是输入我可以做一个ele.getAttribute(&#34; type&#34;)并查看它是否是复选框。但是对于 select ,标记名将为我选择常规选择和选择多个。该倍数没有属性名称,那么如何区分选择和选择多个?
答案 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"