簡體   English   中英

如何從選定的下拉值中獲取文本

[英]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");

您可以使用硒下拉菜單的正式文件

  1. 選擇所需的此選項

    SelectElement selectElement = new SelectElement(element); selectElement.SelectByText(text);

  2. 之后,獲取一條短信

    新的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM