Selenium:如何从选择菜单中选择一个选项?

时间:2010-05-12 15:09:19

标签: php selenium phpunit selenium-rc

我正在使用PHPUnit Selenium扩展在PHP中编写Selenium测试。

我知道如何在文本字段中输入内容:

$this->type('fieldName', 'value');

但如何从下拉菜单中选择一个选项?

3 个答案:

答案 0 :(得分:12)

要扩展其他(准确)答案,您可以根据选项的标签,值,ID或索引进行选择。来自http://release.seleniumhq.org/selenium-core/1.0/reference.html的官方参考:

  

选择(selectLocator,optionLocator)

     

参数:

     
      
  • selectLocator - 标识下拉菜单的元素定位器
  •   
  • optionLocator - 选项定位器(默认为标签)
  •   
     

使用选项定位器从下拉列表中选择一个选项。

     

选项定位器提供了指定HTML Select元素选项的不同方法(例如,用于选择特定选项,或用于断言所选选项满足规范)。有几种形式的选择选项定位器。

     
      
  • 标签 = labelPattern :根据标签(即可见文字)匹配选项。 (这是默认设置。)      
        
    • 标记=正则表达式:^ [乌]疗法
    •   
  •   
  • = valuePattern :根据其值匹配选项。      
        
    • 值=其他
    •   
  •   
  • id = id :根据其ID匹配选项。      
        
    • ID =选项
    •   
  •   
  • 索引 = index :根据索引(偏离零)匹配选项。      
        
    • 索引= 2
    •   
  •   
     

如果未提供选项定位器前缀,则默认行为是在标签上匹配。

答案 1 :(得分:2)

//note that it's the option text not value
$this->select('selectName', 'LabelText');

答案 2 :(得分:2)

 $this->select("selectFieldIdentifier", "label=Option label");