方案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,则会在字段中给我值,但是如果启用了下拉菜单,则无法完成此操作,因为此时应选择元素类型以从启用的下拉菜单中选择值。在两种情况下,都为字段选择了班级
请帮助。...
答案 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();
}