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

Как найти динамический Id, или помогите найти с помощью других элементов

css-selectors
python
webdriver
Теги: #<Tag:0x00007f9c4c0fa2b8> #<Tag:0x00007f9c4c0fa150> #<Tag:0x00007f9c4c0fa010>

(Rob Qaa) #1

Проблема (Вопрос) заключается … не могу ввести текст в поле, у него динамический id, а по другим элементам найти не получается, прошу помочь, я так скажем чайник в этом деле )

Я попытался сделать …
driver.find_element_by_xpath("//input[@type=‘string’]").send_keys(‘1’)

Код


(Valentin G ) #2

Такой css можно попробовать:
label.webix_inp_label>input


(Sergey Rybakin) #3

Смотрите, у Вас есть шикарнейшие view_id, чьи имена говорят, что это за поле?
Хвала Вашим разработчикам, если эти view_id уникальны.
я бы попробовал вот такой css:
div[view_id=‘spValStr’] input

А вообще по динамическим id я уже рекламировал краткое руководство:
Effective CSS Selectors
и лекцию Алексея Баранцева 10 правил построения хороших локаторов


(Aikhao) #4

Есть вариант //forma//label[text()="Строка"]//following-sibling::input Тоесть найти элемент и обратиться к следующему элементу по оси
Или же просто обратись по номеру элемента //forma//input[3] or //forma//input[last()]


(Сергей Кузьмин) #5

Capture_label_for

наверное надо найти по тексту DOM элемент label for ="@id" его @for атрибут гарантированно относится к нужному input который уже будет идентифицироваться однозначно по #id?


(Sheff) #6

#spValStr input