单击下拉列表中的特定元素

时间:2015-04-06 22:28:33

标签: selenium xpath css-selectors

请帮我点击下拉列表中的项目。我有一个名为prompt-wrapper的类,它包含用户名。我想点击特定用户。

在下面的示例中,我只有一个用户,但列表可以有多个用户。在这里,我想点击“Janice Hunt”。

<div class="prompt-wrapper" data-reactid=".0.0.3.0.$message-panel.2.2">
    <div class="prompt-item selected hover" data-reactid=".0.0.3.0.$message-panel.2.2.1:$user_950413">
        <div class="prompt-item-avatar" data-reactid=".0.0.3.0.$message-panel.2.2.1:$user_950413.0">
            <img src="/bundles/neighbourlyregistration/img/avatar.png" data-reactid=".0.0.3.0.$message-panel.2.2.1:$user_950413.0.0">
        </div>
        <span class="prompt-item-name" data-reactid=".0.0.3.0.$message-panel.2.2.1:$user_950413.1"><strong>Janice</strong> Hunt</span>
        <span class="prompt-item-address" data-reactid=".0.0.3.0.$message-panel.2.2.1:$user_950413.2">
        <span class="glyph  icon glyphicon-marker" data-reactid=".0.0.3.0.$message-panel.2.2.1:$user_950413.2.0"></span>
        <span data-reactid=".0.0.3.0.$message-panel.2.2.1:$user_950413.2.1">&nbsp;</span><span data-reactid=".0.0.3.0.$message-panel.2.2.1:$user_950413.2.2">Suburb</span></span>
    </div>
</div>

2 个答案:

答案 0 :(得分:2)

您可以通过XPath在下拉列表中找到所需的项目:

//span[@class="prompt-item-name" and strong = "Janice" and contains(., "Hunt")]

在选择项目之前,不要忘记点击下拉列表将其打开。

答案 1 :(得分:0)

如果您需要点击下拉列表中的特定值,请使用下面的代码,如果下拉字段中有多个值。

//get the drop down field first via id, name, className, cssSelector etc...
  WebElement propertySelectBox = browser.findElement(By.className("txtfld"));
//Use 'Select' statement 
  Select propertyComboBox = new Select(propertySelectBox);
// 4 means 5th Element
  propertyComboBox.selectByIndex(4);