Еще несколько вопросов новичка. В основном по архитектуре проекта

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Не судите строго, с ЗП знаком всего несколько дней. Перечитал почти весь форум, но остаются некоторые вопросы, не совсем очевидные.

1. Как я понял проект в ПМ лучше делать не циклом, а прогонять за 1 раз 1-у итерацию. Думаю сохранять счетчик у файле (общем для всех потоков). Тогда и несколько потоков будут работать и утечки памяти не возникнет. Но тут возникают следущие вопросы.
а) Нужно прогнать весь список ссылок из текстовика через шаблон, с этим понятно. Но как остановить работу проекта после того, как была взята последняя ссылка?
б) Лучше подгружать рабочие файлы в списки? Не будет ли теряться время на загрузку списка при каждой итерации, ведь цикла у нас нет?

2. Как реализовать нахождения элемента, если точно известен только родитель? А конкретно нужно вставить innertext тег body в фрейме с известным id. Само body без имени и ИД.

3. Как организовать несколько попыток разгадывания каптчи, т.е. если каптчу разгадали неправильно - то снова перейти к ее разгадыванию. Предполагаю, что нужно искать какое то сообщение об ошибке и по нем ориентироваться.

4. Можно ли в проект из ПМ вставить другой проект (как бы в виде модуля) тоже из ПМ. Или в код криэйторе в проект вставить другой проект из код криейтора. Видел в последнем что-то подобное, но не тестил. Сейчас с ПМ разбираюсь.

5. По производительности не будет ли проект, сделанный в ПМ медленнее проекта в код криэйторе? Или эта разница незначительная в сравнении с ожиданием ответа браузера и сервиса каптчи?

6. Если при дебаге шаблон останавливается из-за ошибки (например не найден элемент на странице) - надо сделать переход по красному пути от действия с ошибкой, чтобы шаблон не остановился, а проверял, скажем, следующий элемент?

7. Можно ли сделать переменную, которая видна всем потокам и будет сохранятся после перезапуска шаблона в постере (не сохраняя переменную где-то в файле)?

Помогите кто чем может:ah: Кто ответом, кто ссылкой, если я подобную тему пропустил...

З.Ы. А есть вообще планы на счет пхп сниппетов? Видел, что с этим сложности, но это уже давненько писали.
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83
1. счетчик лучше для каждого потока свой ,просто в переменно например 20 циклов
а) можно выставить оповещение и ним закончить шаблон когда он не сможет взять строку
б) смотря какой размер файла
3. можно не только текст а любой элемент на странице
6. да
7. глобальные переменные но с ними вечно проблемы)
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
спасибо)
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
По второму пункту нашел решение, ну и собственно делюсь. Задача была собственно банальная - вставить в body фрейма какой то текст. Собственно это бывает нужно при отправки коментариев или вообще вставки текста в редактор. Сам тег <body> никакими атрибутами не обеспечен, только его родительский тег фрейма. И сам фрейм может быть рендомным на странице. Так что вариант из конструктором действий отпал сразу. Пробовал сделать сниппет на с-шарп, но тоже не вышло (может быть от того, что плохо его знаю). Был еще вариант из эмуляцией клавиатуры, но там я застрял на чистке старого текста перед вставкой нового. В результате пришел к сниппету на яваскрипте. Суть такова, что сначала ищем точный id фрейма с помощью regexp поиска и сохраняем его в переменную. Потом, когда точно извесный id используем сам сниппет
Код:
  try{
    document.getElementById("{-Variable.frame_id-}").contentWindow.document.body.innerHTML = "e5yrjyg";
    var res = true;
  } catch(e) {
    var res = false;
  } finally {
    return res;
  }
Немного обьясню почему тут try-catch. Дело в том, что даже не найдя нужного фрейма и не выполнив вставку текста
Код:
document.getElementById("{-Variable.frame_id-}").contentWindow.document.body.innerHTML = "e5yrjyg";
сниппет всё-равно успешно отработается, т.е. Проджект Мейкер при дебаге не останавливает шаблон. Поэтому, если надо знать вставился текст или нет - надо использовать try-catch и возвращать в шаблон разные значения. Но сниппет может выбить ошибку и остановить шаблон, если, например, буде ошибка в синтаксисе.

З.Ы. Надеюсь кому-нибудь пригодится и этот ктото сэкономит себе кучу нервов и добавит времени для сна :D
З.З.Ы. если кто знает как сделать вот эту штуку в с-шарп сниппете - буду очень благодарен за пример (js я почему то не доверяю)
 
  • Спасибо
Реакции: alekwuy

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Появился такой вот вопрос, а можно как-то при выполнении проекта отключить всплывающие сообщения? А то при отладке были полезны, а теперь реально бесят:ca: :bm:
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Удалить экшены алертов
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
спасибо. Про этот вариант я был вкурсе:-) Кстати алерты как то странно курсор дергают... или может быть это уже мои глюки... В любом случае надо будет их повыкидывать.
Кстати свой шаблон уже закончил - сейчас делается тестовый забег на 24к итераций:ce: Думаю, сделаю топик где подведу итоги своего знакомства)
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Удалить экшены алертов
Удалил все алерты - теперь сижу как в лесу не могу видеть что происходит в процессе, потому что с лога тоже сообщения пропали. Как можно отправлять сообщения в лог, но без всплывающего окна?
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83
тоже интересно)
у маня пол экрана в алертах вечно)
 

CSS

Client
Регистрация
22.05.2010
Сообщения
1 327
Благодарностей
663
Баллы
113

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Ага, я этот топик в первую очередь прочитал и он во многом помог:-)
если силами ZP парсить поисковики или писать спамилки то вся текущая информация в данной статье будет достаточно бестолковой
Вот с этом, конечно, немного не соглашусь т.к. на примере той же спамилки могу сказать, что неправильно сделанный шаб может легко привести к утечке памяти и будет бесполезным.
И там как то вскользь отмечено о груповой работе шабов, хотя это вещь должна быть полезная. Если кто вкурсе как такое организовать - ткните носом где об этом писалось.
 

rostonix

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

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Да я вот и не знаю что ЗП может. В моем понимании - это зацикливание нескольких шабов по кругу т.е. 1, 2, 3, 1, 2, 3...
или 1, 2, 2, 2, 2....

Кстати новоприбывший вопрос. Нашел файлик Anti-Captcha.dll.config - там, я так понимаю, настройки антикапчи и если я в этой строке
HTML:
<add key="server" value="AntiGate.com" />
вместо Antigate.com укажу 127.0.0.1:85, то у меня капча сможет обрабатываться капча снайпером или капча брейкером, который настроен на этот адрес?
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
ага
 
  • Спасибо
Реакции: Sergodjan и kyvour

zennoX

Client
Регистрация
05.04.2014
Сообщения
484
Благодарностей
134
Баллы
43
Удалил все алерты - теперь сижу как в лесу не могу видеть что происходит в процессе, потому что с лога тоже сообщения пропали. Как можно отправлять сообщения в лог, но без всплывающего окна?
а если в алерте снять галку "Показывать в ZP" ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 562
Благодарностей
9 176
Баллы
113

zennoX

Client
Регистрация
05.04.2014
Сообщения
484
Благодарностей
134
Баллы
43
А время отображения миниум 1 секунда только? 0,01 нельзя?)
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
В текстовых логах в папке Logs есть данные точнее) В программе это не нужно для основной массы пользователей.
 

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