我的html标签是这样的,没有选择标签或选项标签。 我想使用selenium和java选择所需的下拉值。 有人能帮我吗 ? 因为我不能继续选择,我不能使用它。 发现很难从下拉列表中选择一个值。
<div id="boundlist-1254" class="x-boundlist x-boundlist-floating x-layer x-boundlist-default x-border-box rp-floating rp-shadow-frame" tabindex="-1" style="right: auto; left: 642px; top: 245px; width: 215px; z-index: 19000; height: 287px;">
<div id="boundlist-1254-listEl" class="x-boundlist-list-ct x-unselectable" role="presentation" style="overflow: auto; height: 287px;">
<ul class="x-list-plain">
<li class="x-boundlist-item" role="option" unselectable="on">*Feb182015</li>
<li class="x-boundlist-item" role="option" unselectable="on">*ShaNili1</li>
<li class="x-boundlist-item" role="option" unselectable="on">1 test supplier</li>
<li class="x-boundlist-item" role="option" unselectable="on">3MTA3</li>
<li class="x-boundlist-item" role="option" unselectable="on">6060 Store Supplier</li>
<li class="x-boundlist-item" role="option" unselectable="on">7885 EL Supplier</li>
<li class="x-boundlist-item" role="option" unselectable="on">A new supplier</li>
<li class="x-boundlist-item" role="option" unselectable="on">A-Mamta-SUp</li>
<li class="x-boundlist-item" role="option" unselectable="on">ANHEUSER BUSCH-STOCKTON</li>
<li class="x-boundlist-item" role="option" unselectable="on">Aarti-MCLANE COMPANY</li>
<li class="x-boundlist-item" role="option" unselectable="on">AutoSupplier12</li>
<li class="x-boundlist-item" role="option" unselectable="on">BAY AREA DISTRIBUTING </li>
<li class="x-boundlist-item" role="option" unselectable="on">BON APPETIT </li>
答案 0 :(得分:0)
我使用以下代码解决了它 下拉列表将逐个元素向下滚动,直到找到它为止,最后当它找到时,它将选择它。 我已将xpath作为对象和值传递给数据:
JavascriptExecutor jse = (JavascriptExecutor) driver;
WebElement droplist = driver.findElement(By.xpath(object));
List<WebElement> droplist_Contents = driver.findElements(By.xpath(object));
int index = droplist_Contents.size();
for (int count = 1; count <= index; count++) {
//elemXPath: combining xpath with index value if the element
String elemXPath= object+"["+count+"]";
//content is the run time value of the dropdown value which moves one by one
String content = driver.findElement(By.xpath(elemXPath)).getText();
((JavascriptExecutor) driver).executeScript(
"arguments[0].scrollIntoView();",
driver.findElement(By.xpath(elemXPath)));
if(content.equalsIgnoreCase(data)){
driver.findElement(By.xpath(elemXPath)).click();
break;
}
}