如何根据选择找到元素

时间:2017-06-28 07:16:59

标签: java selenium selenium-webdriver

场景基于在下拉列表中选择值,它将显示Textbox / Dropdown / MultiselectDD。我使用if else if语句使用IsDisplayed函数并尝试使用boolean但是找到元素非常慢。至少需要1分钟才能找到。

是否还有其他选项可以根据选择快速找到元素。

提前致谢。代码供您参考

if(driver.findElement(parser.getObjLocator("DD")).isDisplayed())
{
    Select ddslectdid= new Select(driver.findElement(
        parser.getObjLocator("DD"))
    );
    ddslectdid.selectByVisibleText("XYZ");
}
else if(driver.findElement(parser.getObjLocator("DateDD1SelectedId")).IsDisplayed())
{
    Select ddscondn = new Select(driver.findElement(
        parser.getObjLocator("DateDD1SelectedId"))
    );  
    ddscondn.selectByVisibleText("ABC");
}
else if(driver.findElement(parser.getObjLocator("DsgnDD")).IsDisplayed())
{
    driver.findElement(parser.getObjLocator("DsgnDD")).click();
    driver.findElement(By.id("cst-searchinput")).sendKeys("Test");
    Thread.sleep(1000);
    driver.findElement(
        By.xpath(".//*[@id='Xpth']/div/div/span/div/div/div/ul/li[2]")
    ).click();
    Thread.sleep(1000);
}
else
{
    System.out.println("No Element Displays");
}

使用if else if

{{1}}

1 个答案:

答案 0 :(得分:0)

public static boolean isElementPresent(String element)
{
    try {
        WebElement ele = driver.findElement(By.xpath(element));
        return ele.isDisplayed();
    } catch (NoSuchElementException e) {
        return false;
    }
}

尝试此块。