а.ждать элемента в течение 3 секунд с опросом 1 секунда или меньше, если требуется
b.если произошло исключение, значит, элемент не отображается в течение 3 секунд
c.проверьте, не является ли webelement нулевым, только щелкните по нему
try {
WebElement textView =
driver.findElement(By.id("com.simplemobiletools.gallery:id/text_view"));
new FluentWait<WebElement>(textView)
.withTimeout(3, TimeUnit.SECONDS)
.pollingEvery(1, TimeUnit.SECONDS)
.until(new Function<WebElement, Boolean>() {
@Override
public Boolean apply(WebElement element) {
return element.isDisplayed();
}
});
}
catch(TimeoutException e){
System.out.println("TimeoutException exception occured after 3 sec);
}
if (textView !=null){
// we do not bother about time here,
// just in case findElement returned something we can click here
driver.findElement(By.id("android:id/button2")).click();
}