t.me/atinfo_chat Telegram группа по автоматизации тестирования

Selenide не работает ввод номера карты (input type="tel")

Теги: #<Tag:0x00007fd7689a6b80> #<Tag:0x00007fd7689a6ab8> #<Tag:0x00007fd7689a69f0>

Есть на странице элемент
<input type="tel" onfocus="nf(this)" onblur="nb(this)" autocomplete="off" next="DateTo" tabindex="2" name="CardNumber" class="onlyNum onlyCardNum visa identified" placeholder="4242 4242 4242 4242" maxlength="19">

Хочу ввести туда номер карты.
Код inputCardNumber.sendKeys(cardNumber) не отрабатывает, вводятся только первые 4 символа.
В Selenium использовался обычный sendKeys (для HtmlElement)

Есть какая-то особенность у Selenide? Как правильно вводить номер карты в этом случае?

Привет!
Точно так же. Селенидовский метод $.sendKeys() вызывает селениумовский WebElement.sendKeys(), тут никакой разницы.

Что странно, вводятся в итоге 4 символа только. Если последовательно вызывать 4 раза $.sendKeys() по 4 символа, то в итоге получим нужное нам значение из 16 символов

А у вас там не так что инпут как бы на 4 части поделен ?
Обычно это так и есть для ввода карт, вам таки нужно дробить ввод на 4 по 4 символа, иначе происходит ввод всех 16 цифр в первую часть инпута и автоматически орезается до 4х первых символов, еще бывает и слип маленьки нужен чтобы подождать что после ввода 4х цифр курсор как бы перескочил на следующую ячейку.
Так что это просто особенность ввода номера карты а не селенида или селениума

1 Симпатия

Да, как раз похожий случай я разбирал здесь (начиная с 51:11):

1 Симпатия