Как с помощью цикла получить номера однотипных элементов на странице сайта.

FCKDSH

Пользователь
Регистрация
11.07.2023
Сообщения
43
Благодарностей
8
Баллы
8
На странице присутствуют 12 однотипных элементов.
9 элементов заполнены, а 3 рандомных элемента нужно заполнить взяв соответствующее значение из списка.
На скрине более понятно о чём идёт речь:
109564

Как можно решить данную задачу?
Можно ли её вообще решить методами zennoposter-а?
Или же тут будет уместно использование javascript-а?

Мне надо как-то получить номера элементов чьё value пустое.
По этому номеру выдернуть соответствующий элемент из списка (не забывая при этом что в списке нумерация с нуля).
И методом set вставить это элемент в input.

Но пока не соображу как это сделать, может кто-то уже сталкивался с подобной задачей и знает как её решать?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 641
Баллы
113
у тебя есть счетчик. Отсчет идет с ноля. По какому-то критерию ты начинаешь перебирать ВСЕ 12 полей. Счетчик прописывается в номере совпадения. Таким образом проверяешь сначала нулевой. Если он пустой, то так же по немору совпадению по каким-то другим критериям элемента берешь из списка НУЛЕВУЮ строку и прописываешь её в нулевое поле. Если же поле изначально не пустое - не делаешь ничего. По завершению этой итерации увеличиваешь счетчик на один, и теперь уже проверяешь ПЕРВОЕ по номеру совпадения поле на пустоту.

Такой вот цикл
 

FCKDSH

Пользователь
Регистрация
11.07.2023
Сообщения
43
Благодарностей
8
Баллы
8
у тебя есть счетчик. Отсчет идет с ноля. По какому-то критерию ты начинаешь перебирать ВСЕ 12 полей. Счетчик прописывается в номере совпадения. Таким образом проверяешь сначала нулевой. Если он пустой, то так же по немору совпадению по каким-то другим критериям элемента берешь из списка НУЛЕВУЮ строку и прописываешь её в нулевое поле. Если же поле изначально не пустое - не делаешь ничего. По завершению этой итерации увеличиваешь счетчик на один, и теперь уже проверяешь ПЕРВОЕ по номеру совпадения поле на пустоту.

Такой вот цикл
С счётчиком всё понятно.
Как получать значение и записывать значение из элемента на странице тоже понятно.
Сравнивать текущее value со значением в списке тоже не сложно.
Непонятно как осуществить сам перебор элементов на странице.
 

FCKDSH

Пользователь
Регистрация
11.07.2023
Сообщения
43
Благодарностей
8
Баллы
8

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
  • Спасибо
Реакции: FCKDSH

FCKDSH

Пользователь
Регистрация
11.07.2023
Сообщения
43
Благодарностей
8
Баллы
8
Спасибо за подсказку. Не до конца понял, как это работает.
Надо почитать про "№ совпадения". Я про него ещё не читал, но судя по вашему примеру именно за счёт этого поля происходит перебор однотипных элементов на сайте.
 

FCKDSH

Пользователь
Регистрация
11.07.2023
Сообщения
43
Благодарностей
8
Баллы
8
В принципе понял как это работает, мне нужно только теперь правильно сделать выборку элементов.
У меня тут древо элементов чуть сложнее.
Просто взять по тегу <a>, как у вас на примере не получиться.
По классу тоже пока не получается, т.к. класс div-а с инпутом и без инпута отличается.
Думаю...
1.png
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Вам нужно изучить как работает конструктор действий. И прописать уникальные значения, которые соответствуют вашим элементам. Далее просто увеличивать счетчик.
Изучите какое уникальное значение есть у ваших элементов. Это можно смотреть в свойствах элементов.

На будущее вам надо научиться составлять пути до элементов через xpath.
 
  • Спасибо
Реакции: FCKDSH

FCKDSH

Пользователь
Регистрация
11.07.2023
Сообщения
43
Благодарностей
8
Баллы
8
Вам нужно изучить как работает конструктор действий. И прописать уникальные значения, которые соответствуют вашим элементам. Далее просто увеличивать счетчик.
Изучите какое уникальное значение есть у ваших элементов. Это можно смотреть в свойствах элементов.

На будущее вам надо научиться составлять пути до элементов через xpath.
Всё порядок, сделал немного по своему.
Заметил что у инпутов есть дата-атрибуты.
И что самое важное value этих дата-атрибутов содержит в себе динамическую часть.
109577

Поэтому я сделал поиск всех элементов на странице, внутри цикла подставляя текущее значение счётчика (SeedCounter) в value дата-атрибута.
И каждому элементу, вне зависимости от того найден он или нет, устанавливал текущее значение (SeedWord) взятое из списка.
Если элемент был найден, то значение устанавливалось, если же нет, то получали ошибку, но цикл продолжался, пока не были перебраны все 12 слов seed-фразы.
109578

Так что думаю вопрос можно считать закрытым.
Вам большое спасибо за помощь.

В свойствах элементов я уже более менее-начал разбираться :-)
xPath постараюсь подучить.
 
  • Спасибо
Реакции: Deisler

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)