[英]How to grab text from a selected drop down value
我具有以下HTML作为下拉菜单:
<select class="" data-id-title="" default-selected="0"
data-bind="value: selectedTitle, options: titles, optionsText: 'Text', optionsValue:'ValueId',
optionsCaption: 'Title', $el: $elTitle, hasFocus: titleHasFocus, attr: {'default-selected': defaultTitle}">
<option value="">Title</option>
<option value="1">Mr</option>
<option value="2">Mrs</option>
<option value="4">Miss</option>
<option value="3">Ms</option>
</select>
我想获取下拉菜单中所选值的文本。 因此,例如,如果我从标题中选择了“太太”,那么我想抓住文本“太太”。
目前,我正在按值获取数据,因此我将“ 2”作为输出而不是“ Mrs”。 如何抓取文字?
以下是当前获取选定下拉值的代码:
public List<string> GetPassengerNames()
{
List<string> titleList = new List<string>();
var passengerTitles = _driver.FindElements(PassengerDetailsElements.TitleField);
foreach (var passengerTitle in passengerTitles)
{
titleList.Add(passengerTitle.GetAttribute("value"));
}
return titleList;
}
PassengerDetailsElements.TitleField是这样的:
public static By TitleField => By.XPath("//*[@data-id-title='']");
谢谢
您可以这样使用,首先使用SelectElement
来查找下拉列表
SelectElement drpDown= new SelectElement(driver.FindElement(By.Xpath("//*[@data-id-title='']")));
drpDown.SelectByText("Mr");
用于文字
selectedValue.SelectedOption.GetAttribute("value");
您可以使用硒下拉菜单的正式文件
选择所需的此选项
SelectElement selectElement = new SelectElement(element); selectElement.SelectByText(text);
之后,获取一条短信
新的SelectElement(_casualtySearchPageElements.CasualtyWeather).SelectedOption.Text;
您可以对选择节点使用selectedIndex属性,以查找选择了哪个选项。 然后,您可以找到相应的文本。
my_select = driver.find_element_by_tag_name("select")
my_select.find_elements_by_tag_name("option")[int(my_select.get_attribute("selectedIndex"))].text
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.