无法获得硒的下拉列表的默认选定值

时间:2019-06-03 16:41:09

标签: java html selenium selenium-webdriver testng

方案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()。来选择选项。

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

错误:-

如果选择了默认值并且显示了下拉列表,则getfirstselectedvalue()函数返回null,如果选择了元素类型,但是如果我将其设置为webelement然后执行gettext,则会在字段中给我值,但是如果启用了下拉菜单,则无法完成此操作,因为此时应选择元素类型以从启用的下拉菜单中选择值。在两种情况下,都为字段选择了班级

请帮助。...

1 个答案:

答案 0 :(得分:0)

正如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();
    }