我在使用java从selenium的下拉列表中选择值时遇到错误。
//Select the Warehouse
Select Warehouse= new Select(driver.findElement(By.xpath(Xpath.warehouse_SVR)));
System.out.println("Element is identified ");
Warehouse.selectByValue("3");
System.out.println("Value is selected");
Thread.sleep(1000);
js.executeScript("window.scrollTo(0,0)");
我使用了与下拉列表中的值相关的方法。这里我提到了.selectByValue()方法。即使我使用.selectByIndex()或.selectByVisibleText()方法,我仍然有错误。从下拉列表中选择值的可能方法是什么?
这是该特定下拉列表的Html代码。
<select id="ctl00_cphbody_rptRNDViewer_ctl04_ctl05_ddValue" class="aspNetDisabled" style="font-family: Verdana; font-size: 8pt; width: 217px;" onchange="javascript:setTimeout('__doPostBack(\'ctl00$cphbody$rptRNDViewer$ctl04$ctl05$ddValue\',\'\')', 0)" name="ctl00$cphbody$rptRNDViewer$ctl04$ctl05$ddValue">
<option value="1">- All -</option>
<option value="2">Damage Warehouse-1000003061</option>
<option value="3" selected="selected">Primary Warehouse-1000003061</option>
<option value="4">VAN</option>
</select>
答案 0 :(得分:0)
请查看以下内容 使用implcit等待,Warehouse.selectByValue(&#34; 3&#34;);
答案 1 :(得分:0)
尝试使用以下更新代码:
Select Warehouse= new Select(driver.findElement(By.xpath(Xpath.warehouse_SVR)));
System.out.println("Element is identified ");
WebDriverWait wait = new WebDriverWait(driver, 5);
wait.until(presenceOfElementLocated(Warehouse));
Warehouse.selectByValue("3");
System.out.println("Value is selected");
Thread.sleep(1000);
js.executeScript("window.scrollTo(0,0)");
希望它会对你有所帮助。
答案 2 :(得分:0)
public boolean selectValueFromDropDown(String searchValue) {
WebElement element = driver.findElement(By.Id("ctl00_cphbody_rptRNDViewer_ctl04_ctl05_ddValue"));
element.click();
element.sendKeys(searchValue);
element.sendKeys(Keys.ENTER);
return true;
}