代码之家  ›  专栏  ›  技术社区  ›  Andrew

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

  •  6
  • Andrew  · 技术社区  · 15 年前

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

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

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

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

    3 回复  |  直到 10 年前
        1
  •  12
  •   Dave Hunt    15 年前

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

    选择(选择定位器、选项定位器)

    争论:

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

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

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

    • 标签 = 标签模式 :根据选项的标签匹配选项,即可见文本。(这是默认设置。)
      • label=regexp:^[oo]其他
    • 价值 = 价值表 :根据选项的值匹配选项。
      • 价值=其他
    • 身份证件 = 身份证件 :根据选项的ID匹配选项。
      • ID=opt1
    • 指数 = 指数 :根据选项的索引(从零偏移)匹配选项。
      • 索引=2

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

        2
  •  2
  •   ts.    15 年前
     $this->select("selectFieldIdentifier", "label=Option label");
    
        3
  •  2
  •   halfer    10 年前
    //note that it's the option text not value
    $this->select('selectName', 'LabelText');