Javascript 等待元素出现或返回false
可以等待,直到元素出现在带有Javascript 等待元素出现或返回false,javascript,testing,protractor,Javascript,Testing,Protractor,可以等待,直到元素出现在带有browser.wait的页面上(EC.presenceOf(元素)(按.id(“按钮”))),5000,“未找到按钮”) 当在页面上找不到元素时,这将引发错误。我不希望此函数抛出错误,相反,如果在5秒后未找到元素,它应该返回false 如何实现这一点?您可以尝试使用标准的try/catch来实现这一点。这将捕获从浏览器生成的异常。请等待并在捕获中处理它 try{ browser.wait(EC.presenceOf(element(by.id("button"
browser.wait的页面上(EC.presenceOf(元素)(按.id(“按钮”))),5000,“未找到按钮”)
当在页面上找不到元素时,这将引发错误。我不希望此函数抛出错误,相反,如果在5秒后未找到元素,它应该返回false
如何实现这一点?您可以尝试使用标准的try/catch来实现这一点。这将捕获从浏览器生成的异常。请等待并在捕获中处理它
try{
browser.wait(EC.presenceOf(element(by.id("button"))), 5000, "button not found")
}catch(){
return false;
};
您可以尝试将if-else块与isdisplayed()函数一起使用,如
if(driver.findElement(By.xpath(noRecordId)).isDisplayed()){
return true;
}
else{
return false;
}
您可以使用布尔变量代替return来保存结果。这对我来说不起作用,因为如果站点上存在元素,我首先必须等待一段时间(5秒)才能返回。然后,如果任何操作都不起作用,您可以使用
thread.sleep(5000)
来执行。(不推荐)