【问题标题】:unable to get the default selected value of drop down from selenium无法从 selenium 中获取下拉菜单的默认选择值
【发布时间】:2019-10-19 05:57:40
【问题描述】:

场景1:我在屏幕区域和领土上有两个字段。对于某些用户,它选择了默认值,并且下拉菜单被禁用。 PFB代码供参考。

    <select id="abcd" name="xyz" class="12234" style="ghfhgfhfh">
      <option class="hide" value="4541ghj" selected="">valley 
          none</option>
    </select>.

如果下拉菜单被禁用,我正在尝试将“valley none”作为输出。

场景 2: 我在屏幕区域和领土上有两个字段。对于某些用户,它选择了默认值并启用了下拉菜单。

此时我现在想从下拉列表中选择选项。

为此,我正在尝试制作一个通用代码。

我现在在做什么:-

我正在制作一个选择类型元素,我正在尝试通过 getfirstselectedvalue() 获取默认值,然后将其保存在 webelement 中,然后我正在执行 .gettext()。选择选项。

否则,如果从 thr firstselectvalue() 函数返回 null,那么我将尝试通过可见文本选择值。

错误:-

如果选择了默认值并且下拉列表被禁用 getfirstselectedvalue() 函数返回 null ,如果元素类型为 select 但如果我将其设为 webelement 然后执行 gettext 它会给我字段中的值但是如果下拉菜单被启用,则无法做到这一点,因为那时应该选择元素的类型以从启用的下拉菜单中选择值。在这两种情况下,都会为字段选择类

请帮忙....

【问题讨论】:

  • 您能否发布用于获取下拉列表引用的代码,以及用于获取所选选项的代码?

标签: java html selenium selenium-webdriver testng


【解决方案1】:

正如 Greg 所说,我们需要 html 和您尝试过的代码以便更好地理解。但是,这是您可以使用的简单逻辑。

   //get the listBox Element
    WebElement list = driver.findElement(By.xpath("//select[@id='abcd']"));
    // check if it's disabled
    if (!list.isEnabled()) {
        // get value from option 1 as listbox is disabled.
        System.out.println(list.findElement(By.tagName("option")).getText());
    }else {
        // select value as listbox is enabled. (Chnage 'Scenario2' with desired list item
        list.findElement(By.xpath(".//option[.='scenario2']")).click();
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-10
    • 2017-03-23
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 2020-12-11
    • 2017-07-12
    相关资源
    最近更新 更多