найти ссылку по названию блока рядом с ней

nik-n

Client
Регистрация
05.11.2016
Сообщения
242
Благодарностей
20
Баллы
18
есть сайт который не покажу, это админка
там есть таблица с записями, мне нужно находить ссылку "Редактировать", при этом у меня
есть только Название строки


в каждой строке этой таблицы вот такой код

<tr>
<td>id строки</td>
<td> Название 15 </td>
<td> </td>
<td><a href="НУЖЕН ЭТОТ ЛИНК">Редактировать</a></td>
<td width="300">
<a href="линк">скрыть</a>
<a href="линк">удалить</a>
</td>
</tr>


Мне например нужно взять ссылку "Редактировать" строки с ячейкой "Название 15"

Какие существуют варианты? )
 

nik-n

Client
Регистрация
05.11.2016
Сообщения
242
Благодарностей
20
Баллы
18
одно решение уже придумал как только пост разместил )

регулярным выражением ищем то что находится между вот этим:
<td> Название 15 </td>
<td> </td>
<td><a href="


и вот этим
">Редактировать</a></td>

но все равно для общего развития как можно еще доставать? какие приемы бывают?
 

nik-n

Client
Регистрация
05.11.2016
Сообщения
242
Благодарностей
20
Баллы
18
Ага, разбежался )
Штатным конструктором действий нужный кубик не собираешь походу, да и не совсем понятно как переменную в Регулярно Выражение прописывать? Просто как копируется штатным инструментом из списка всех переменных?
 

budora

Client
Регистрация
13.08.2012
Сообщения
831
Благодарностей
556
Баллы
93
Если это таблица то работайте через XPath. У каждой строки свой уникальный id и получая нужный вам составляете выражение для работы с требующимся элементом в этой строке.
 

rich7

Client
Регистрация
18.02.2016
Сообщения
66
Благодарностей
40
Баллы
18

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с rich7 какие-либо сделки.

получаешь содержимое tr в котором есть "Название 15" и регуляркой вытаскиваешь href
 

Вложения

  • 14,4 КБ Просмотры: 124

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
одно решение уже придумал как только пост разместил )

регулярным выражением ищем то что находится между вот этим:
<td> Название 15 </td>
<td> </td>
<td><a href="


и вот этим
">Редактировать</a></td>

но все равно для общего развития как можно еще доставать? какие приемы бывают?
если особо не заморачиваясь, то можно в два прохода спарсить нужную ссылку:
1. парсить блок от Название 15 до Редактировать
2. в этом блоке парсить href="..."
 

nik-n

Client
Регистрация
05.11.2016
Сообщения
242
Благодарностей
20
Баллы
18
если особо не заморачиваясь, то можно в два прохода спарсить нужную ссылку:
1. парсить блок от Название 15 до Редактировать
2. в этом блоке парсить href="..."
А можно пожалуйста вот совсем для чайников, как сделать 1 шаг и как 2 шаг?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
А можно пожалуйста вот совсем для чайников, как сделать 1 шаг и как 2 шаг?
к примеру такой исходник:

<!-- код страницы -->
<td> Название 15 </td>
<td> </td>
<td><a href="ссылка15">Редактировать</a></td>
<!-- код страницы -->

1. шаг:
upload_2017-5-24_0-41-16.png



2. шаг:

upload_2017-5-24_0-42-6.png
 
  • Спасибо
Реакции: nik-n

nik-n

Client
Регистрация
05.11.2016
Сообщения
242
Благодарностей
20
Баллы
18
к примеру такой исходник:

<!-- код страницы -->
<td> Название 15 </td>
<td> </td>
<td><a href="ссылка15">Редактировать</a></td>
<!-- код страницы -->

1. шаг:
Посмотреть вложение 20967


2. шаг:

Посмотреть вложение 20968
А как теперь ещё и переменную воткнуть в регулярку?
Ибо "название 15" лежит в переменной.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
А как теперь ещё и переменную воткнуть в регулярку?
Ибо "название 15" лежит в переменной.
просто вставить в регулярку переменную, можно предварительно на всякий случай к ней применить Обработка текста - Escape строки, чтобы привести ее к виду применимому в рег. выражениях..

Код:
(?<={-Variable.var_txt-})[\w\W]*?(?=>Редактировать)
 
  • Спасибо
Реакции: nik-n

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