我在自动化级联下拉时遇到问题。功能如下:在点击下拉列表并选择一个值时,它将根据在父下拉列表中选择的值打开另一个下拉列表。
请在此处找到屏幕截图: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
对此查询的建议将不胜感激。
谢谢。
答案 0 :(得分:1)
上述问题已在键功能的帮助下解决。
WebElement element8 = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("manPosDropD1_xpath"))));
element8.click();
element8.sendKeys(Keys.ARROW_DOWN);
element8.sendKeys(Keys.ENTER);
谢谢。