если элемент появляется, как закрыть? - PullRequest
1 голос
/ 15 мая 2019

Какую команду использовать для закрытия этого элемента, ТОЛЬКО , если он появляется во время выполнения. Я хочу, чтобы мой код мог замечать, когда он появляется, но если он не появляется, тогда продолжайте с обычным приоритетом.

enter image description here

Ответы [ 2 ]

1 голос
/ 15 мая 2019
//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
}
0 голосов
/ 15 мая 2019

Вы можете проверить количество элементов, совпадающих с идентификатором / классом, а затем щелкнуть только, если у вас есть хотя бы один элемент.

List<WebElement> elements = driver.findElements(By.id("com.simplemobiletools.gallery:id/parentPanel"));
if (elements.size()>0){
    elements.get(0).click();
}
...