как узнать номер строки (tr)?

shaba777

Client
Регистрация
10.12.2011
Сообщения
22
Благодарностей
0
Баллы
1
имеется сайт в котором есть таблица, в ней есть строки
мне нужно узнать что содержится в каждой строке и какая это строка по счету

в конструкторе действий это есть (на скрине числа с 28 по 31 - это номера строка)
как это осуществить не догоняю
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Инициируете счетчик с нужным значением, подставляете это значение в номер совпадения элемента и проверяете на наличие необходимого текста, если он нашелся, значит цифра, находящаяся в счетчике и будет номером нужного совпадения. Как то так.
 

shaba777

Client
Регистрация
10.12.2011
Сообщения
22
Благодарностей
0
Баллы
1
Понял, но ничего не понял)) можно на примере?
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Спарсите все регуляркой в список - и прямо по индеску можно будет брать
 

shaba777

Client
Регистрация
10.12.2011
Сообщения
22
Благодарностей
0
Баллы
1
как узнать, в каком № совпадения содержится нужный мне текст?
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Сниппет на c#
var list = project.Lists["название списка"];
var hz = project.Variables["название переменной"].Value;
for (int i =0;i<list.Count;i++)
{
if(list.Contains(hz))
{
return i;
}
}
return 0; // ну или вообще ничего не возвращать, тогда все пойдет по неудачной ветке.

Это если быстро и просто, а если в стандартных блоках....
Если мы ищем просто "содержит" часть вхождения то
1) Готовим то что ищем для поиска по регулярке при помощи "escape строки" // если у нас будет скажем... двухсловная фигня какая то, если однословная то забиваем
2)берем в переменную длинну списка, скажем 100 элементов
3) инициализируем новую переменную, которой приваиваем значение 0 (Предположим переменную i )
4) потом берем из нашего списка строку под номером i и парсим её при помощи функции Regex, а вместо регулярного выражения используем искомый текст
5) Логическим элементом проверяем, если что то регуляркой спарсилось - то пишем куда надо значение переменной i. Если не спарсилось, то увеличиваем i на 1 и переходим к строке 4, и так до победного.

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

А вот скрин))))

1.jpg
 

shaba777

Client
Регистрация
10.12.2011
Сообщения
22
Благодарностей
0
Баллы
1
Lexicon, большое спасибо!!! Кажется, понял :-) с программированием туго (с#), а средствами зеннопостера справлюсь. Завтра ообую и отблагодарю еще раз, если все успешно :-)
 
Регистрация
15.05.2016
Сообщения
45
Благодарностей
5
Баллы
8
Сниппет на c#
var list = project.Lists["название списка"];
var hz = project.Variables["название переменной"].Value;
for (int i =0;i<list.Count;i++)
{
if(list.Contains(hz))
{
return i;
}
}
return 0; // ну или вообще ничего не возвращать, тогда все пойдет по неудачной ветке.
Посмотреть вложение 4643
Я не понял, как твоим сниппетом пользоваться? Мне нужно найти номер строчки, на которой есть совпадение с искомым текстом, наверное твой код не совсем для этого?
То есть есть список "Лог файла", в нём на каждой строчке своя информация. В одной из них допустим слово "сайт". В переменной "data" лежит это же слово. Используя переменную, я хочу найти в нужном списке строчку, на которой будет это совпадение, и узнать номер такой строки, положив его в другую переменную. Как это сделать? Подскажи пожалуйста.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
вы
Я не понял, как твоим сниппетом пользоваться? Мне нужно найти номер строчки, на которой есть совпадение с искомым текстом, наверное твой код не совсем для этого?
То есть есть список "Лог файла", в нём на каждой строчке своя информация. В одной из них допустим слово "сайт". В переменной "data" лежит это же слово. Используя переменную, я хочу найти в нужном списке строчку, на которой будет это совпадение, и узнать номер такой строки, положив его в другую переменную. Как это сделать? Подскажи пожалуйста.
выше код как раз для этого
 

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28
upload_2016-8-21_12-59-56.png
Должно выдавать 4, а выдаёт 0.
 

bezvozni

Client
Регистрация
31.03.2013
Сообщения
306
Благодарностей
29
Баллы
28

meriin

Client
Регистрация
30.01.2020
Сообщения
59
Благодарностей
57
Баллы
18
Сниппет на c#
var list = project.Lists["название списка"];
var hz = project.Variables["название переменной"].Value;
for (int i =0;i<list.Count;i++)
{
if(list.Contains(hz))
{
return i;
}
Спасибо тебе, добрый человек!
 

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