首页 > 解决方案 > 无法使用选择从下拉列表中选择值

问题描述

我正在尝试在“设备”下拉列表中选择一些值,但出现错误 - 元素不是难以处理的:元素当前不可见,可能无法操作

我们正在为我们的应用程序使用淘汰赛 js。下拉菜单甚至没有打开。

I am using xpath - "//select[@class='deviceType']"

我可以使用 webdriver 等待这意味着 xpath 没有问题,但我无法在下拉列表中选择值

 Select device = new Select(deviceDrpDwn);
         device.selectByVisibleText(deviceOption);

这是我用来选择下拉值的代码。下拉菜单未打开。

HTML code:
<div class="span9 select-device">
                <!-- ko if: sdeviceConfigMap -->
                        <label data-bind="text: ovd.ui.admin.hart.device">Device (Manufacturer ID, Device Type, User Extension, Characterization)</label>
                        <select tabindex="16" class="deviceType" data-bind="value: sselectedDeviceConfig, 
                                              optionsCaption : ovd.ui.admin.hart.selectDevice, 
                                              options: sdeviceConfigMap,
                                              optionsText: 'name',
                                              optionsValue: 'config_id', 
                                              event: { change: associateConfigWithValve}"><option value="">Select Device</option><option value="20">Dresser Masoneilan, SVI II AP / H7, initial, Linear</option><option value="21">Dresser Masoneilan, SVI II AP / H7, initial, Equal % (30)</option><option value="22">Dresser Masoneilan, SVI II AP / H7, initial, Quick Opening</option><option value="23">Dresser Masoneilan, SVI II AP / H7, initial, Linear</option></select>
                        <!-- /ko -->
                </div>  

在此处输入图像描述

标签: seleniumwebdriver

解决方案


您的元素在 Webdriver 交互时不可见。请等待元素可见。

WebDriverWait wait=new WebDriverWait(driver,40); 
Select select=new Select(wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//select[@class='deviceType']"))));
select.selectByIndex(1); //n=1,2...n

或 select.selectByVisibleText(arg0);


推荐阅读