如何使用selenium webDriver自动化级联下拉菜单

时间:2017-07-07 05:37:58

标签: selenium-webdriver

我在自动化级联下拉时遇到问题。功能如下:在点击下拉列表并选择一个值时,它将根据在父下拉列表中选择的值打开另一个下拉列表。

请在此处找到屏幕截图:CLICK HERE

这是我的代码:

Utility.SelectDropdown(driver, "//div[3]/div/div/select", "Test 1");                
Utility.SelectDropdown(driver, "//div[2]/div/div/div[3]/div/div/select", "Test 2");
Utility.SelectDropdown(driver, "//div[3]/div/div/div[3]/div/div/select", "Test 3");

实用程序类:

public static void SelectDropdown(WebDriver driver,String xpath,String value){
            WebElement ele= driver.findElement(By.xpath(xpath));
            Select dropdown=new Select(ele);
            dropdown.selectByVisibleText(value);

我尝试使用Wait和tab out,但它没有用。 它是在第一个下拉列表中选择值但无法加载子下拉列表。因此我收到如下错误消息:

" Cannot locate element with text: Test 2." System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_111'

以下是下拉列表的HTML:Click Here

对此查询的建议将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:1)

上述问题已在键功能的帮助下解决。

WebElement element8 = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("manPosDropD1_xpath"))));
        element8.click();
        element8.sendKeys(Keys.ARROW_DOWN);
        element8.sendKeys(Keys.ENTER);

谢谢。