Selenium webdriver wait, исключение Element not clickable

100
13

Я использую selenium webdriver для хром. Я тестирую веб-приложение с большим количеством содержимого ajax, поэтому после входа в приложение потребуется несколько секунд, чтобы загрузить содержимое ajax на домашней странице.

Я использовал явное ожидание после входа в систему, чтобы подождать, пока не найду элемент. Но в большинстве случаев это не так. Я дал 25 секунд, чтобы ждать, но он не работает через 4 секунды ожидания. Ошибка,...

Unknown error: Element <a href="/ls/create_new" class="ajax addDashButton hasLink">...</a> is not clickable at point (144, 223). 

Другой элемент получит клик: (информация сессии: chrome = 60.0.3112.78) (

Мой код...

public class login {
WebDriver driver;

@Test
public void f() {

System.setProperty("webdriver.chrome.driver", "filepath/chromedriver");
driver = new ChromeDriver();
driver.get("URL");
driver.manage().window().maximize();

driver.findElement(By.name("username")).sendKeys("username");
driver.findElement(By.name("password")).sendKeys("password");
driver.findElement(By.className("login")).click();

WebDriverWait wait = new WebDriverWait(driver, 25);

wait.until(ExpectedConditions.presenceOfElementLocated(By.linkText("Create New App")));
driver.findElement(By.linkText("Create New App")).click();
}
}

Это только часть моего кода. Каков правильный способ использования webdriver wait. TY

спросил(а) 2017-09-11T08:35:00+03:00 3 года, 1 месяц назад
1
Решение
71

Интеграция с использованием presenceOfElementLocated, попробуйте один раз visibilityOfElementLocated.

    visibilityOfElementLocated: проверяет, должен ли элемент быть видимым и присутствовать. presenceOfElementLocated: он просто проверяет, присутствует ли элемент в DOM или нет.

для получения дополнительной информации можно проверить ниже link-. Какова точная разница между "Ожидаемые условия " и "Ожидаемое состояние" и "Ожидаемые условия". PresenceOfElementLocated "

ответил(а) 2017-09-11T10:03:00+03:00 3 года, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема