поэтому у меня есть это текстовое поле на странице HTML, которое принимает число от 1 до 100 на модальном поле. Если вы введете число в большое -> появится сообщение об ошибке в div ниже и класс будет присвоен div. То же самое для отрицательных чисел. Ввод текста невозможен, поле остается пустым, а нажатие кнопки «ОК» в модальном поле с пустым полем также вызывает сообщение об ошибке, аналогичное описанному выше.
Когда я проверяю все вручную, все работает нормально и Я могу найти элемент, который имеет класс, который я упоминал ранее.
Когда я автоматизирую это, однако ... Я всегда получаю ошибку: no such element: Unable to locate element: {"method":"css selector","selector":".class"}
, когда я проверяю, появляется ли сообщение об ошибке после нажатия Ok с пустым полем.
С номером слишком большой или отрицательный, элемент может быть расположен правильно.
Похоже, что кнопка Ok нажата, но сообщение не появляется. Так что есть швы, чтобы быть разницей в нажатии кнопки вручную и автоматически.
Кто-нибудь из вас когда-нибудь замечал что-то подобное и может дать мне некоторую информацию о том, что может быть причиной этого и как я могу это исправить?
Уже спрашивали некоторых коллег, и ни один из них есть идеи, почему это происходит.
Дайте мне знать, если вам нужна дополнительная информация.
Спасибо
Редактировать:
<div class="classes" width="400px">
<div class="classes">
<h4 class="classes">Some text</h4>
<svg
stroke="currentColor"
fill="currentColor"
stroke-width="0"
viewBox="0 0 24 24"
class="classes"
size="20"
height="20"
width="20"
>
<path
d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
></path>
</svg>
</div>
<div class="classes">
<form novalidate="" class="classes">
<h3 class="classes">Some text</h3>
<div class="">
<div class="classes">
<div class="classes">
<input
class="classes"
name="name"
type="number"
id="name"
step="any"
autocomplete="new-password"
value="70"
/>
</div>
<div class="classes">
HERE IS THE ERROR MESSAGE DISPLAYED
</div>
</div>
</div>
<div class="classes">
<button class="classes" type="button" id="cancel">
<p class="classes">Abbrechen</p></button
><button class="classes" type="submit" id="ok">
<p class="classes">Ok</p>
</button>
</div>
</form>
</div>
</div>
Вот некоторый код селена:
Это функция для заполнения поля требуемым вводом:
public void fillField(String input) {
driver.findElement(byId).click();
driver.findElement(byId2).click();
driver.findElement(byId2).clear();
driver.findElement(byId2).clear();
driver.findElement(byId2).sendKeys(input);
}
нам нужно очистить поле здесь дважды, потому что по какой-то причине один раз не очищает его , Но на данный момент это не проблема.
Затем мы просто нажимаем кнопку ОК с:
public void clickOk() {
driver.findElement(byOkModal).click();
}
Но дело в том, что нажимается Ok и сообщение об ошибке не появляется. Появляется при нажатии вручную.
Также пробовал разные подходы при ожидании, щелчке несколько раз, перемещении мыши и щелчке в другом месте ... ничего не работает ...