2017-04-20 26 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"