проблема с выполнением шаблона

workoles

Client
Регистрация
02.05.2015
Сообщения
276
Благодарностей
81
Баллы
28
Добрый день, дорогие форумчане.

Надеюсь что вы сможете мне помочь с моей проблемой.
Дело вот в чем. Я сделал шаблон, он прекрасно работает в проджект мейкере. НО! когда я запускаю этот шаблон через постер, то один (или несколько) экшенов не выполняются. и шаблон продолжает работать дальше.
С помощью логирования я установил "узкое место", пробовал заменить эту функцию через другие экшны, но все равно не помогает.

Вот думаю толи я чего-то не учитываю, толи какой-то баг. Надеюсь кто-нибудь сможет помочь. Спасибо.

При необходимости могу объяснить более подробно, или показать сам шаб
 

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
503
Баллы
113
Штатные экстрасенсы все на лето укатили на моря, поэтому объяснять более подробно желательно сразу.

ЗЫ. Мб нужно поставить паузы между проблемными экшнами.
 

noble

Пользователь
Регистрация
09.10.2014
Сообщения
177
Благодарностей
10
Баллы
18
Очень туманная проблема)))
У Вас демка?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Описание проблемы вообще непонятно, никакой конкретики
 

workoles

Client
Регистрация
02.05.2015
Сообщения
276
Благодарностей
81
Баллы
28
Пользуюсь стандартом. В ситуации разобрался, дело было в регулярном выражении. После правок шаблон заработал, но один вопрос остался. Словом, ситуация такая. Есть громадный DOM размером с мегабайт, вытянутый в одну строку. Вот его примерный кусок:
HTML:
Блок 1<span><img class="div no yes __pc r12" src="/img/pic1.png" alt=""/><div class="a4"><a href="/param?loop.cmd=closeOn=1&amp;ifEdit=off"></a></div></span>Блок 2<span><img class="div no yes __phone r12" src="/img/pic2.png" alt=""/><div class="a4"><a href="/param?loop.cmd=closeOn=2&amp;ifEdit=off</a></div></span>Блок 3<span><a href="/param?loop.cmd=closeOn=3&amp;ifEdit=off</a></span>Блок 4<span><img class="div no yes __pc r12" src="/img/pic1.png" alt=""/><div class="a4"><a href="/param?loop.cmd=closeOn=4&amp;ifEdit=off"></a></div></span>Блок 5<span><img class="div no yes __phone r12" src="/img/pic2.png" alt=""/><div class="a4"><a href="/param?loop.cmd=closeOn=5&amp;ifEdit=off</a></div></span>Блок 6<span><a href="/param?loop.cmd=closeOn=6&amp;ifEdit=off</a></span>
Задача: спарсить все значения, идущие после:
HTML:
/param?loop.cmd=closeOn=
Но только для тех блоков, в классе которых присутствует __pc или __phone. Итого парсер должен взять значения следующих блоков:
HTML:
Блок 1<span><img class="div no yes __pc r12"
Блок 2<span><img class="div no yes __phone r12"
Блок 4<span><img class="div no yes __pc r12"
Блок 5<span><img class="div no yes __phone r12"
Для решения данной задачи я изначально использовал вот такую регулярку:
Код:
(?<=class="div no.+?closeOn=)\d*?(?=&amp;ifEdit=off)
Т.к. код огромный, я сперва не обратил внимания, что она берет много лишнего, а если быть точным, то она берет все значения. Т.е. в итоге она возьмет: 1,2,3,4,5,6. Отсюда изначальная проблема - возникал перескок на следующий экшен без ожидания выполнения предыдущего. После смены регулярного выражения на более длинное:
Код:
(?<=class="div no.+?r12"\ src="/img/.+?png"\ alt=""/><div\ class="a4"><a\ href="/param\?loop\.cmd=closeOn=)\d*?(?=&amp;ifEdit=off)
проблема исчезла, парсер стал брать нужные значения: 1,2,4,5. Но после нескольких часов перебора разнообразных комбинаций я так и не понял, почему не работает первый вариант, ведь он более легкий и в нем учитывается нежадность выражения.
 
Последнее редактирование:

noble

Пользователь
Регистрация
09.10.2014
Сообщения
177
Благодарностей
10
Баллы
18
Пути Господни неисповедимы)))
 

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