Подтвердить что ты не робот

Как проверить, имеет ли dom класс с помощью WebDriver (Selenium 2)?

Я очень новичок в Selenium, поэтому извиняюсь, если это глупый вопрос. Я успешно подключил IntelliJ (Play! Framework) с Selenium и создал несколько тестов с использованием firefoxDrivers.

Я пытаюсь проверить правильность проверки страницы.

Короче говоря, я выбираю такой элемент:

WebElement smallDecel = firefoxDriver.findElement(By.cssSelector("#configTable tr:nth-child(2) td .playerDecelInput"));

Я делаю некоторые дальнейшие операции (очищаю и изменяю значение, отправляю "форму" ), а затем я хочу проверить, был ли TD, вход которого находится, был присвоен другой класс.

Итак, вопрос в том, есть ли простой метод, который я могу использовать, чтобы выяснить, имеет ли класс WebElement/DOM указанный класс?

4b9b3361

Ответ 1

Вы можете использовать FindElement(By.ClassName(//name of your class)); Я бы порекомендовал вам либо выполнить цикл, либо выполнить поиск в DOM в течение заданного периода времени, либо установить Thread.sleep(xxxx), а затем искать добавленный класс.

Ответ 2

Как только вы найдете этот элемент, вы можете просто вызвать myElement.GetAttribute( "класс" ). Затем вы можете проанализировать возвращаемую строку и посмотреть, содержит ли она или не содержит имя класса, о котором вы заботитесь.

Ответ 3

Чтобы расширить ответ Сэма Вудса, я использую простой метод расширения (это для С#), чтобы проверить, имеет ли элемент определенный класс:

public static bool HasClass( this IWebElement el, string className ) {
    return el.GetAttribute( "class" ).Split( ' ' ).Contains( className );
}