2 回答
TA贡献1818条经验 获得超8个赞
您可以使用findElements()来检查该元素是否在网页上。
findElements()- 如果没有具有给定定位器的元素,则返回空列表-如果元素不在页面上,则
findElement()抛出NoSuchElementException
试试下面的代码:
List<WebElement> elements = driver.findElements(By.locator);
if(!elements.isEmpty()) {
if(elements.get(0).isDisplayed()) {
elements.get(0).click();
}
else {
// element not visible
}
}else{
// here mention code if element not present
}
建议:使用相对 xpath 而不是绝对 xpath。或尝试使用 CSS 选择器。
TA贡献1772条经验 获得超5个赞
尝试使用 try catch 而不是 if else。
try {
if (webElements.newCohortElm.isDisplayed()) {
doApply();
}
}
catch (Exception e){
SeleniumUtils.click(getDriver(), webElements.createCohortSelectionFromMenu);
webElements.cohortname.sendKeys("private_cohort_test");
SeleniumUtils.click(getDriver(), webElements.createCohortButton);
}
添加回答
举报