Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

помогите укротить "вредный" Input. То ли с полем что то,то ли со мной

java
webdriver
javascript
Теги: #<Tag:0x00007f7b69391458> #<Tag:0x00007f7b693912f0> #<Tag:0x00007f7b69391138>

(Назар) #1

Всем доброго дня,третий день мучаю такой вот казалось бы не замысловатый input

sendKeys() в любом виде не работает ,то есть, и на прямую(element not visible…not clicable)
через Actions,тоже пустое поле,то тоже ексепшин,
((JavascriptExecutor) driver).executeScript( “arguments[0].setAttribute(‘value’, arguments[1])”, element, str); пустое поле…
А все остальные поля формы вводятся без проблем.
При наведенном фокусе после ТАБ с предыдущего поля то же игнор

Да, и вот наткнувшись на теже грабли (то же,но в другой форме) увидел что верхний input type=hidden не является его анцестором,соответственно унаследовать это свойство он не может…где я ошибаюсь?


#2

Надо посмотреть этот инпут в динамике: что с пим происходит, если начать ввод, где в DOM сохраняется value.

Недавно сталкивался со случаем, когда щелкаешь на input, а когда начинаешь вводить, поверх него создается новый элемент, первоначальный input становится read-only, а ввод идет в динамический элемент.
Пользователю незаметно, а в HTML видно, что всё меняется.

Может быть, тут что-то другое, но в любом случае стоит посмотреть, что меняется при вводе руками, и куда реально попадает value.


(Stan) #3

А в чем фишка, он же hidden и нк показывается на странице (по крайней мере в момент скришота)? Это точно тот инпут? Если очень хочется, то js.


(Bolatbek) #4

Не поленился, зарегался на этом сайте))
В каком случае возникает эта ситуация? Что за поле?
Я у себя не вижу class = “js-form-group form-group has-error”
Как его добиться?


(Назар) #5

javaScript не помогает


(Назар) #6

введи 51682,номер безплатного шаблона,иди на чекаут, потом как гость и вот она
это если ты про второй скрин.
а про первый,то тут такая фишка что когда ты идеш с шоппинг карт на чекаут можеш попасть на разные билинговые формы,лайк зыс

и лайк зыс

на второй таких проблем не замечал


(Bolatbek) #7

То есть найти по id = billinginfo-form-email и отправить send_keys не дает?


(Назар) #8

сначала работало,потом перестало,а в первом скрине поле емеил постоянно эксептило


(Назар) #9

кабы все гуд


(Bolatbek) #10

А давайте так попробуем:
удалите этим скриптом атрибут у инпута:

$("input").attr("data-constraints", "")

И попробуйте снова.


(Назар) #11

String s = fullName.getAttribute(“data-constraints”);
System.out.println(s);
((JavascriptExecutor) driver).executeScript(
“arguments[0].setAttribute(‘data-constraints’, arguments[1])”, fullName, “”);
String ss = fullName.getAttribute(“data-constraints”);
System.out.println(":"+ss+":");

@NotBlank @HTML5Required @Pattern(regex="/.(\s)./", message=“Please specify your full name (first and last)”)
::

org.openqa.selenium.ElementNotVisibleException: element not visible
(Session info: chrome=49.0.2623.110)


(Livira) #12

У вас еще есть псевдо элементы before and after, надо посмотреть, что на них навешано.
бывает так, что они перекрывают input


(Назар) #13

пока сошлось на том что форма загружается,автофокус на верхнем поле,и через актионс.сендкис.таб вводит(только так).
Но ето жутко не удобно,так как для всех формочек нужен свой метод…
Но самый первый вопрос так и окрыт,это поле инпут на такое действие не поддаётся…
Джаваскрипт может вводить текст так молниеносно что оно не успевает ввестись в поле?
Можно както его замедлить и попробовать…,а то я после него делал сред.слип но толку 0.


(Алеся) #14

когда сначала всё работало?
я вижу у вас firefox, у него недавно новая версия вышла, а драйвер новый ещё не появился.
может у вас поставилась новая версия ff, тогда откатитесь на старую, пока драйвера нового нет


(Назар) #15

Всем спасибо,вопрос решился.По ходу изменились локаторы на схожие(сразу не заметил),и полей таких стало три