使用Selenium从C#的下拉菜单中选择选项

时间:2015-06-08 21:00:59

标签: c# html selenium

我正在尝试在下拉菜单中选择特定选项。我当前的代码突出显示了我想要的选择,但是在“选择”之后继续前进并且不保留该字段中的值。我想抓住“医疗”的价值。目前我正在使用:

IWebElement element = driver.FindElement(By.Name("DISPLAY_CoverageType"));
SelectElement selector = new SelectElement(element);
selector.SelectByText("Medical");

我从中拉出的列表如下:

<option value="">Please Select One</option>
<option value="Medical">Medical</option>
<option value="Hospital">Hospital</option>
<option value="Dental">Dental</option>
<option value="Vision">Vision</option>

这会突出显示我选择的蓝色,但在下拉菜单关闭时不会选中它。有什么建议吗?

3 个答案:

答案 0 :(得分:2)

您还可以使用css选择器绕过SelectElement类并直接找到该选项。

string option = "Medical";
By css = By.CssSelector("Select>option[value='" + option + "']");
driver.FindElement(css).Click();

答案 1 :(得分:0)

使用以下行

 selector.selectByValue("Medical"); 

而不是

 selector.SelectByText("Medical");

让我知道它是否有效。

答案 2 :(得分:0)

显然是重复的,轻松的&#34;路线是整个时间的正确方式。这段代码帮我通过了测试:

driver.FindElement(By.Name("DISPLAY_CoverageType")).Click();
driver.FindElement(By.XPath("//td[4]/select/option[3]")).Click();
driver.FindElement(By.XPath("//td[4]/select/option[3]")).Click();

感谢@alecxe重复通话的想法。