Помогите разобраться с кнопкой

Chingis

Client
Регистрация
09.09.2016
Сообщения
107
Благодарностей
20
Баллы
18
Есть ссылка с кодом

Код:
<a href="http://vk.com/wall-60879772_1384" rel="nofollow noopener" data-bind="url" target="_blank">странице</a>
ей соответствует кнопка

Код:
<div data-apped="0" data-task_post="" data-task_url="vk.com/wall-60879772_1384" data-task_type="2" data-task_id="2334356" class="vkt-content__list-item-check right" data-bind="check">Проверить</div>
upload_2016-10-5_10-53-1.png

Вот код всей этой конструкции

HTML:
<div data-item_id="2334356" class="vkt-content__list-item" data-bind="item_id"> <div data-bind="item_network" class="left"><i class="fa fa-vk"></i></div> <div class="vkt-content__list-data left"> <p class="vkt-content__list-item-type" data-bind="type_name">Поставьте лайк на<a href="" rel="nofollow noopener" data-bind="group_url" target="_blank"></a><a href="http://vk.com/wall-60879772_1384" rel="nofollow noopener" data-bind="url" target="_blank">странице</a></p> <div class="vkt-popup__task-details-arrow left"> <span data-bind="price">0.10</span>&nbsp;<i class="fa fa-ruble"></i> </div> <div class="vkt-content__list-item-pricetext left">&nbsp;за выполнение</div> </div> <div class="vkt-content__list-item-post left"> <div class="" data-bind="post"></div> <div data-copy="" class="hide" data-bind="copy">Cкопировать</div> </div> <div class="vkt-content__list-item-instructions right"> <span onclick="$('[data-instruction]').hide();$('[data-instruction=2]').show();" data-bind="instruction" data-show="instructions" data-darkness="true">Инструкция</span><br> <span data-complain="2334356" data-bind="complain" data-show="complain_window" data-darkness="true">Пожаловаться</span><br> <span data-hide="2334356" data-bind="hide">Скрыть</span> </div> <div data-hide="2334356" data-task_id="2334356" class="vkt-content__list-item-check hide right" style="width: auto; padding: 10px; display: none;" data-bind="return">Вернуть в список доступных</div> <div data-apped="0" data-task_post="" data-task_url="vk.com/wall-60879772_1384" data-task_type="2" data-task_id="2334356" class="vkt-content__list-item-check right" data-bind="check">Проверить</div> <div style="display: none;" data-hide="2334356" class="vkt-content__list-item-completed right hide" data-bind="date">Проверить</div> <div data-hide="2334356" data-loader="2334356" class="vkt-content__list-item-loader right hide" data-bind="loader"><i class="loader_circle first"></i><i class="loader_circle second"></i><i class="loader_circle third"></i></div> <div data-hide="2334356" data-success="2334356" class="vkt-content__list-item-completed right hide" data-bind="success"><i class="fa fa-check"></i><span>&nbsp;Готово</span></div> <div data-hide="2334356" data-error="2334356" class="vkt-content__list-item-uncompleted right hide" data-bind="error"><span>&nbsp;Ошибка</span></div> <div class="clear list"></div> <div data-bind="video" class="vkt-content__list-item-video"></div> <div class="clear list"></div> </div>
Подскажите как сделать чтоб кнопка "Проверить" нажималась именно соответствующая этой ссылке?

Понимаю что нужно привязаться к этому значению:

1. для ссылки id="2334356"
2. для кнопки data-task_type="2" data-task_id="2334356"

тоесть 2334356 всегда уникально
type="2" соответствует типу ссылки (это можно наверно даже не рассматривать, т.к проще сравнивать id="2334356")

Но как это организовать в ZP не совсем понятно. Подскажите.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 621
Благодарностей
4 607
Баллы
113
давно я вктаргет не видел)
ты сам написал

1. для ссылки id="2334356"
2. для кнопки data-task_type="2" data-task_id="2334356"

выпарсил айди, в блоке клика подставил его в data-task_id
 
  • Спасибо
Реакции: Chingis

Chingis

Client
Регистрация
09.09.2016
Сообщения
107
Благодарностей
20
Баллы
18
Спасибо, вроде суть понял
 

Chingis

Client
Регистрация
09.09.2016
Сообщения
107
Благодарностей
20
Баллы
18
Не получается....

Спарсил 3 значения

<div data-apped="0" data-task_post="" data-task_url="vk.com/wall-96813861_43" data-task_type="4" data-task_id="2430775" class="vkt-content__list-item-check right" data-bind="check">Проверить</div>

разложил их по 3м переменным (сделал 3 раза взять DOM)
http://prntscr.com/cq04zu
потом собрал это все вместе (код выше)
сделал клик по получившемуся значению, ZP пишет что выполнено успешно, но клика не было.

это я все пытался сделать через атрибут outerhtml
через class подставляется вот это значение vkt-content__list-item-check right


скажите в каком месте я делаю не так?
 
Последнее редактирование:

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 957
Благодарностей
781
Баллы
113
ты же вот это <div data-apped="0" data-task_post="" data-task_url="vk.com/wall-96813861_43" data-task_type="4" data-task_id="2430775" class="vkt-content__list-item-check right" data-bind="check">Проверить</div> в outerhtml засовываешь, почему тогда у тебя несколько результатов поиска? должен же быть только 1 уникальный, поскольку выделенные жирным части кода уникальны.

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

doc

Client
Регистрация
30.03.2012
Сообщения
8 621
Благодарностей
4 607
Баллы
113
парсишь у задания data-item_id
подставляешь его в атрибут data-task_id у твоей кнопки
 

Chingis

Client
Регистрация
09.09.2016
Сообщения
107
Благодарностей
20
Баллы
18
парсишь у задания data-item_id
подставляешь его в атрибут data-task_id у твоей кнопки
делал так, но там получается что 3 значения меняются в зависимости от ссылки, выделены жирным
<div data-apped="0" data-task_post="" data-task_url="vk.com/wall-96813861_43" data-task_type="4" data-task_id="2430775" class="vkt-content__list-item-check right" data-bind="check">Проверить</div>

ТОесть если подменять только data-task_id= то значения data-task_type="4 и ata-task_url="vk.com/wall-96813861_43" не соответствуют
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 957
Благодарностей
781
Баллы
113
значит три значения выпарсивай и три значения подставляй
 

Chingis

Client
Регистрация
09.09.2016
Сообщения
107
Благодарностей
20
Баллы
18
Я спарсил 3 значения и подставил в outerhtml upload_2016-10-5_14-32-48.png
(на скрине другие значения, но суть таже)
Не получается....

Спарсил 3 значения и подставил их в

<div data-apped="0" data-task_post="" data-task_url="vk.com/wall-96813861_43" data-task_type="4" data-task_id="2430775" class="vkt-content__list-item-check right" data-bind="check">Проверить</div>
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 957
Благодарностей
781
Баллы
113
так там в коде ссылки только wall-60879772_1384 уникально, по идее надо брать это значение и через регекс (вставить регулярное выражение с переменной содержащей wall-60879772_1384) подставлять в клик в outerhtml , должно быть только 1 совпадение
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 957
Благодарностей
781
Баллы
113
у тебя клик не проходит, или не находит нужную кнопку?
через тест, пробовал кликать по найденным значениям?
 

Chingis

Client
Регистрация
09.09.2016
Сообщения
107
Благодарностей
20
Баллы
18
у каждой ссылки значения (3 штуки все разные)
http://prntscr.com/cq0my4
http://prntscr.com/cq0n5v
http://prntscr.com/cq0nch

у тебя клик не проходит, или не находит нужную кнопку?
через тест, пробовал кликать по найденным значениям?
поэтому и парсил 3 значения и потом собирал их в одной переменной и вставлял в поле "значение" атрибута outerhtml

через тест и кликаю, ZP пишет что успешно, но клик не проходит.
Если делать через конструктор действий то берется значение
http://prntscr.com/cq0orc
http://prntscr.com/cq0oyc

Подозреваю что надо тыкать в поле атрибута class, но как незнаю
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 957
Благодарностей
781
Баллы
113
ты через конструктор делай клик, и поставь имя атрибута - outerhtml , а в значение - регулярку (текст начинается с и укажи переменную, например) с переменной (которая будет содержать предварительно выпарсеный датаайди), потом поставь Выбор действия Rise, выбери - клик, и протестируй сразу же. если пройдёт, то добавляй в проект
 
  • Спасибо
Реакции: Chingis

Chingis

Client
Регистрация
09.09.2016
Сообщения
107
Благодарностей
20
Баллы
18
ты через конструктор делай клик, и поставь имя атрибута - outerhtml , а в значение - регулярку (текст начинается с и укажи переменную, например) с переменной (которая будет содержать предварительно выпарсеный датаайди), потом поставь Выбор действия Rise, выбери - клик, и протестируй сразу же. если пройдёт, то добавляй в проект
Спасибо!!!! клик прошёл, пока смотрю дальше
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 621
Благодарностей
4 607
Баллы
113
не пойму, что за логика преокта такая. Ты же задания выполняешь. Парсишь все айдишники. кладешь в список. Теперь в цикле проходишь по каждому айдишнику. Через айдишник парсишь данные задания. Если задание подходит - идёшь выполнять. После, через этот же айдишник находишь нужную кнопку "проверить". Не подходит - жмешь скрыть(опять же, по этому же айдишнику), или не жмешь и берешь следующий айди. И так по кругу.
Зачем тебе outherhtml не понятно. Ведь у тебя есть атрибуты data-item_id, data-task_id и подобные
 

Chingis

Client
Регистрация
09.09.2016
Сообщения
107
Благодарностей
20
Баллы
18
outherhtml нужен для клика, подругому не получается:(. Хотел сделать списком, но пока не додумался как (я новичек в этом деле).
 

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