我正在尝试在下拉菜单中选择特定选项。我当前的代码突出显示了我想要的选择,但是在“选择”之后继续前进并且不保留该字段中的值。我想抓住“医疗”的价值。目前我正在使用:
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>
这会突出显示我选择的蓝色,但在下拉菜单关闭时不会选中它。有什么建议吗?
答案 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重复通话的想法。