我正在尝试在“设备”下拉列表中选择一些值,但出现错误-元素难以处理:元素当前不可见,可能无法操作
我们正在为我们的应用程序使用剔除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>
答案 0 :(得分:1)
您的元素在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);
答案 1 :(得分:0)
这对我有用:
WebElement下拉列表= driver.findElement(By.xpath(“ // select [@ class ='deviceType']”))); dropdown.sendKeys(deviceOption);