2014-05-16 135 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元素来绘制和实现下拉列表,选择一个你想要的,然后点击它。

相关问题