Как проверить :: после псевдоэлемента, если существуют в селене - PullRequest
0 голосов
/ 09 марта 2020

Я работаю с предопределенным полем, поэтому вы можете ввести только указанные значения c, и если вы введете любое другое значение (которое не отображается в базе данных), оно выдаст ошибку. Теперь я хочу проверить, для каких значений (из таблицы Excel) это поле выдает ошибку, но я изо всех сил пытаюсь добиться этого, потому что единственное, что изменяется в DOM для недопустимого значения, это ::before. Если он недействителен ::before появится. Пример:

<label for="Broom" data-error="Please." class="active">::before</label>

1 Ответ

1 голос
/ 09 марта 2020

Когда я столкнулся с этой проблемой, я не мог найти никакого способа сделать это с помощью стратегии локатора WebDriver, такой как XPATH, CSS et c. Мы можем использовать это только через Javascript. Примерно так:

public String errorCheck() {
    String script = "return window.getComputedStyle(document.querySelector('label[for=\\'Broom\\']'),':before').getPropertyValue('content')";
    JavascriptExecutor js = (JavascriptExecutor)driver;
    String content = (String) js.executeScript(script);
    return content;
}

Итак, вы можете проверить, возвращает ли оно нулевое значение для допустимых значений. Если вы проведете больше исследований по этому вопросу, вы обнаружите, что вы можете сделать больше проверок, например, color et c. Это больше от исходной точки зрения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...