c# - 如何在C#中获取下拉列表的选定值
问题描述
如何在下拉列表中获取选定的值
HTML 代码:
<select name="appealStatusId" class="form-control input-sm">
<option value="1">
Pending
</option>
<option value="2">
Overall Appeal Approved
</option>
<option value="3" selected="selected">
Overall Appeal Not Approved
</option>
解决方案
要在下拉列表中获取所选值,您必须诱导WebDriverWait并且element_to_be_clickable()
您可以使用以下任一Locator Strategies:
使用CssSelector:
SelectElement status = new SelectElement(driver.FindElement(By.CssSelector("select[name='appealStatusId']"))); IWebElement selected = status.SelectedOption; Console.Write(selected.Text);
使用XPath:
SelectElement status = new SelectElement(driver.FindElement(By.XPath("//select[@name='appealStatusId']"))); IWebElement selected = status.SelectedOption; Console.Write(selected.Text);
使用名称:
SelectElement status = new SelectElement(driver.FindElement(By.Name("appealStatusId"))); IWebElement selected = status.SelectedOption; Console.Write(selected.Text);
推荐阅读
- migration - 从 .NET Core 3.1 迁移到 .NET 5 会产生编译时错误
- html - Bootsrap 表在行中断字
- python - 如何比较斜率线性回归
- python - pytest 没有 django “lazy_django.py 没有 Django 设置”
- headless - 如何在 Selenium c# 中为 Headless Browser 处理打印对话框?
- python - 根据字符串 Python 上的字符查找矩阵上的位置并检索该位置的值
- javascript - 如何根据 id 更新对象
- javascript - 如何通过jquery将excel的属性添加到样式标签?
- java - 序列化是否需要原生机制?
- android - LocalBroadcastManager 的任何替代方案,例如 LiveData?