如何使用selenium webdriver c#从弹出下拉列表中选择一个选项

时间:2016-12-28 20:49:18

标签: c# selenium drop-down-menu popup

我有一个telerik搜索框,我输入了' acc'它会自动弹出以' acc'开头的项目。从那个列表中我想选择' Acabose'。

C#代码:

driver.FindElement(By.Id("ctl00_ctl14_tsfSearch_Input")).Click();
driver.FindElement(By.Id("ctl00_ctl14_tsfSearch_Input")).SendKeys("acc");

和HTML:

<div class="rsbSlide">
    <div class="rsbPopup">
        <ul class="rsbList">
            <li class="rsbListItem">Acabose</li>
            <li class="rsbListItem">Acabose 100mg</li>
        </ul>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

您可以获取所有可见的li项并迭代它们,直到找到包含所需文本的选项。 (注意:我在Java中使用Selenium,但c#中的原理相同)

// code to enter the search goes here.
List<WebElement> rsbListItems = driver.findElements(By.className("rsbListItem");
for (int i = 0; i < rsbListItems.size(); i++) {
    if (listItem.getText() == "Acabose 100mg") {
        listItem.click();
    }
}

或者,如果您知道Acabose始终(并且永远)将成为列表中的第二项,您可以通过索引访问它。