webdriver C# - 下拉 selectByVisibleText

webdriver C# - dropdown selectByVisibleText

正在尝试 select 下拉菜单中的一个词。

在 Webdriver IDE 中出现此单击下拉列表(其 ID 为 "p" 并单击下拉列表中的单词 "Barcelona"。:

我只能使用以下方法打开下拉菜单:

            driver.FindElement(By.Id("p")).Click();

现在我正在尝试 select 此下拉菜单中的一个词,使用 "selectelement" 和 "select visibleText" 但对我来说在 C# Webdriver 中不起作用。

            SelectElement selector = new SelectElement.selectByVisibleText("Barcelona");

有什么帮助吗?

使用 C# Webdriver 而不是 java。

我认为问题出在 SelectElement 初始化中。您可以试试下面的代码:

SelectElement selectElement = new SelectElement(driver.FindElement(By.Id("p")));
selectElement.SelectByText("Germany");

如果您是 C# WebDriver API 的新手,您会发现以下文章很有用:http://automatetheplanet.com/getting-started-webdriver-c-10-minutes/

在 WebDriver.Support.dll 版本:3.1.0 中,我们有 SelectElement class。 SelectElement主要是三个方法。

请查找方法:

  • 到select文本我们可以使用SelectByText
  • 到select索引我们可以使用SelectByIndex
  • 到select值我们可以使用SelectByValue

代码示例:SelectByIndex

SelectElement selectObj = new SelectElement(driver.FindElement(By.Id("year")));
selectObj.SelectByIndex(4);

代码示例:SelectByText

SelectElement selectObj = new SelectElement(driver.FindElement(By.Id("year")));
selectObj.SelectByText("1990");

代码示例:SelectByValue

SelectElement selectObj = new SelectElement(driver.FindElement(By.Id("year")));
selectObj.SelectByValue("1990");

请查找附件照片以供参考 Sample Image

进一步说明和其他方法Refer