我正在使用以下下拉菜单:
<select id="id_time_zone" name="time_zone" onchange="validate_field($(this), [validate_required])">
<option value="">Please Select</option>
<option value="1">UTC-12</option>
<option value="2">UTC-11</option>
<option value="3">UTC-10</option>
<option value="4">UTC-9</option>
</select>我正在尝试做什么:我正在尝试编写一个返回当前选定文本的程序。例如,如果选择了"UTC-12“,我的方法将返回字符串timezone=”UTC-12“。
到目前为止,我尝试了以下几点:
@FindBy(id = "id_time_zone")
WebElement editSubOrg_timezone;
// Reads and returns field
public String readField() {
tmp = editSubOrg_timezone.getText();
return tmp;
}不起作用,则getText()返回下拉列表中的所有值
@FindBy(id = "id_time_zone")
WebElement editSubOrg_timezone;
// Reads and returns field
public String readField() {
tmp = editSubOrg_timezone.getAttribute("value") ;
return tmp;
}不起作用,则getAttribute(" value ")返回值(即1,2,3,4),而不是相应的显示文本
发布于 2013-07-26 11:03:19
@FindBy(id = "id_time_zone")
WebElement editSubOrg_timezone;
public String readField() {
Select select = new Select(editSubOrg_timezone);
WebElement tmp = select.getFirstSelectedOption();
return tmp.getText();
}发布于 2013-07-27 01:27:58
如果选择了一个元素,则方法isSelected()将返回true。元素可以是下拉列表中的元素,也可以是复选框或单选按钮。
@FindBy(id = "id_time_zone")
WebElement editSubOrg_timezone;
// Reads and returns field
public String readField() {
List<WebElement> options = editSubOrg_timezone.findElements(By.tagName("option"));
for (WebElement option : options) {
if (option.isSelected) {
return option.getText();
}
}
return null;
}发布于 2014-10-22 17:03:35
我使用以下方法(在C#中)获取所选项目的文本:
public string getSelectedLabel(ddlDropListID)
{
string selected;
SelectElement selectOption = new SelectElement(ddlDropListID);
selected = selectOption.SelectedOption.Text;
return selected;
}https://stackoverflow.com/questions/17866348
复制相似问题