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

  • Автор темы Автор темы workoles
  • Дата начала Дата начала

workoles

Client
Регистрация
02.05.2015
Сообщения
276
Реакции
82
Баллы
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. Но после нескольких часов перебора разнообразных комбинаций я так и не понял, почему не работает первый вариант, ведь он более легкий и в нем учитывается нежадность выражения.
 
Последнее редактирование:
Пути Господни неисповедимы)))
 

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