场景基于在下拉列表中选择值,它将显示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}}
答案 0 :(得分:0)
public static boolean isElementPresent(String element)
{
try {
WebElement ele = driver.findElement(By.xpath(element));
return ele.isDisplayed();
} catch (NoSuchElementException e) {
return false;
}
}
尝试此块。