如何在selenium中选择值表下拉列表(Web-driver java):

时间:2013-10-24 05:53:38

标签: selenium automation selenium-webdriver junit4

我想从下拉列表中选择值(当我在同一页面上更改上一个下拉列表的值时,下拉值会发生变化。)我试过但没有发生任何事情。

Java代码:

driver.findElement(By.xpath("//* @id='ctl00_CPHPageContents_rcbBranch_Input']")).sendKeys(Keys.DOWN);
//search.sendKeys(Keys.TAB);

HTML:

<tr>
    <td class="rcbInputCell rcbInputCellLeft" style="width:100%;">
    <input id="ctl00_CPHPageContents_ddlAssignedTo_Input" class="rcbInput radPreventDecorate" type="text" value="ghaffar, a" name="ctl00$CPHPageContents$ddlAssignedTo" autocomplete="off"/>
    </td>

4 个答案:

答案 0 :(得分:2)

Selenium有一个特殊的类,旨在与名为Select的下拉列表进行交互。从那里,您可以轻松地按ID,索引或显示值选择选项。

答案 1 :(得分:2)

试试这个

WebElement dropDownListBox = driver.findElement(By.id("country"));

Select clickThis = new Select(dropDownListBox);

clickThis.selectByVisibleText("(+44) United Kingdom");

希望有所帮助

答案 2 :(得分:1)

首先取消选择多选框中的所有值,然后选择所需的值。它正常工作..

Log.info("Clicking on Softwarepack dropdown");
JavascriptExecutor execu = (JavascriptExecutor)driver;
execu.executeScript("document.getElementById('TestID').style.display='block';");
Select sel = new Select(driver.findElement(By.id("TestID")));
sel.deselectAll();
sel.selectByVisibleText("Value");
Thread.sleep(6000);

答案 3 :(得分:1)

试试这个

public void(string[item])) {

    WebElement dropDown = driver.findElement(By.id("countTd"));
    dropDown.click();

    driver.findElement(By.xpath("//td[@id='countTd']/span[text()='" + item + "']")).click();
}