首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从选定的下拉值中获取文本

如何从选定的下拉值中获取文本
EN

Stack Overflow用户
提问于 2017-11-06 11:39:41
回答 3查看 88关注 0票数 0

我有下面的HTML下拉菜单:

代码语言:javascript
复制
<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‘作为输出,而不是’夫人‘。我怎么才能拿到短信?

下面是当前正在获取所选下拉值的代码:

代码语言:javascript
复制
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是这样:

代码语言:javascript
复制
public static By TitleField => By.XPath("//*[@data-id-title='']");

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-06 13:55:56

您可以这样使用,首先使用SelectElement定位下拉列表

代码语言:javascript
复制
SelectElement drpDown= new SelectElement(driver.FindElement(By.Xpath("//*[@data-id-title='']")));
drpDown.SelectByText("Mr");

用于文本

代码语言:javascript
复制
selectedValue.SelectedOption.GetAttribute("value");

您可以使用硒滴下选择的正式文档

票数 1
EN

Stack Overflow用户

发布于 2017-11-06 12:53:51

  1. 选择您想要的选项 SelectElement selectElement =新SelectElement(元素);selectElement.SelectByText(文本);
  2. 在那之后,发个短信 新SelectElement(_casualtySearchPageElements.CasualtyWeather).SelectedOption.Text;
票数 0
EN

Stack Overflow用户

发布于 2017-11-06 13:14:43

您可以对select节点使用属性selectedIndex,以便找到所选的选项。然后,您可以找到相应的文本。

代码语言:javascript
复制
my_select = driver.find_element_by_tag_name("select")
my_select.find_elements_by_tag_name("option")[int(my_select.get_attribute("selectedIndex"))].text
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47136147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档