Selenium: How to select an option from a select menu?

前端 未结 3 648
逝去的感伤
逝去的感伤 2020-12-20 19:58

I am writing a Selenium test in PHP using the PHPUnit Selenium extension.

I know how to type something into a text field:

$this->type(\'fieldName\         


        
相关标签:
3条回答
  • 2020-12-20 20:16
     $this->select("selectFieldIdentifier", "label=Option label");
    
    0 讨论(0)
  • 2020-12-20 20:18

    To expand on the other (accurate) answers, you can select based on the label, value, id, or index of the options. From the official reference available at http://release.seleniumhq.org/selenium-core/1.0/reference.html:

    select(selectLocator, optionLocator)

    Arguments:

    • selectLocator - an element locator identifying a drop-down menu
    • optionLocator - an option locator (a label by default)

    Select an option from a drop-down using an option locator.

    Option locators provide different ways of specifying options of an HTML Select element (e.g. for selecting a specific option, or for asserting that the selected option satisfies a specification). There are several forms of Select Option Locator.

    • label=labelPattern: matches options based on their labels, i.e. the visible text. (This is the default.)
      • label=regexp:^[Oo]ther
    • value=valuePattern: matches options based on their values.
      • value=other
    • id=id: matches options based on their ids.
      • id=option1
    • index=index: matches an option based on its index (offset from zero).
      • index=2

    If no option locator prefix is provided, the default behaviour is to match on label.

    0 讨论(0)
  • 2020-12-20 20:27
    //note that it's the option text not value
    $this->select('selectName', 'LabelText');
    
    0 讨论(0)
提交回复
热议问题