Какую команду использовать для закрытия этого элемента, ТОЛЬКО , если он появляется во время выполнения. Я хочу, чтобы мой код мог замечать, когда он появляется, но если он не появляется, тогда продолжайте с обычным приоритетом.
//You can change ExpectedConditions type (visibilityOfElementLocated) public boolean isExist(By elementBy, int seconds) { try { WebDriverWait wait = new WebDriverWait(driver, seconds); wait.until(ExpectedConditions.presenceOfElementLocated(elementBy)); return true; } catch (Exception e) { return false; } } //if popup is displayed within 3 seconds By POPUP = By.id("com.simplemobiletools.gallery:id/parentPanel"); if (isExist(POPUP, 3)) { //do something - for example click cancel button }
Вы можете проверить количество элементов, совпадающих с идентификатором / классом, а затем щелкнуть только, если у вас есть хотя бы один элемент.
List<WebElement> elements = driver.findElements(By.id("com.simplemobiletools.gallery:id/parentPanel")); if (elements.size()>0){ elements.get(0).click(); }