2014-05-16 138 views
2

我需要從以下代碼中選擇不同測試用例中的三個值(1列單元,2列單元或3列單元)中的一個:使用Selenium Webdriver從<span>類型下拉框中選擇一個值

<div class="addUnits"> 
    <span id="addDropdown" class="addDropdown">Add unit to layout</span> 
    <ul id="addUnitCombo" style="display: none;"> 
     <li> 
     <a class="addColumnUnit addOneCol" href="">1 column unit</a> 
     </li> 
     <li> 
     <a class="addColumnUnit addTwoCol" href="">2 columns unit</a> 
     </li> 
     <li> 
     <a class="addColumnUnit addThreeCol" href="">3 columns unit</a> 
     </li> 
    </ul> 
</div> 

我明白如何檢索值並從Select中單擊它們,但這是一個Span,所以不會允許這樣做。這是不是一個傳統的下拉框和3個值纔會選擇(手動操作)時

<span id="addDropdown" class="addDropdown">Add unit to layout</span> 

...懸停。

任何想法如何選擇和點擊其他值之一?

+0

您使用哪種Selenium綁定 - 例如Ruby,Python等? –

+0

您可以通過XPath使用find元素來選擇任何元素(語法取決於您的綁定)。使用XPath,您可以使用'// div [@ class ='addUnits'] // span'和後綴'a'包含'addTwoCol'並使用'// div [@ class ='addUnits']// a [包含(@class,'addTwoCol')]',例如。 – helderdarocha

回答

0

僅僅從HTML中,你可以看到它不是一個普通的下拉元素,通常是一個<input>標籤。如果您看到在瀏覽器中顯示的下拉列表,可能是JavaScript中的自定義下拉實現(請注意,display: none;,其中的值可能只是JavaScript的「持有人」以訪問其他地方。)

我會建議仔細檢查使用什麼HTML元素來繪製和實現下拉列表,選擇一個你想要的,然後點擊它。

相關問題