[SOLVED] Как Zenno научить клацать по всем кнопкам без ссылок на страницы (постинг в SMMbox)

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 448
Благодарностей
564
Баллы
113
Здравствуйте, форумчане.
Пишу шаб для забора постов с SMMbox в свою группу. Столкнулся с проблемой, что кнопка "Забрать пост в свою группу" спрятана в Java Script или чем-то другим и ссылку на неё парсингом не получить.
Задача такая:
Зенка должна находить кнопки на которые нужно нажимать (без эмуляции нажатия мыши по координатам), нажимать, затем искать другую кнопку с другими данными, нажимать на неё, потом заново искать первый вид кнопки, но уже другую итд. по списку вниз.

Прилагаю изображения.





У кнопок идентификатор разный. То есть можно найти кнопку через элементы, но зенка будет клацать только лишь по этой кнопке, а как её научить, чтобы она пропускала нажатую уже кнопку, находила следующую и продвигалась ниже по списку?

Прошу помощи)
 
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
У кнопок идентификатор разный. То есть можно найти кнопку через элементы, но зенка будет клацать только лишь по этой кнопке, а как её научить, чтобы она пропускала нажатую уже кнопку, находила следующую и продвигалась ниже по списку?
через c#

Взять коллекцию таких кнопок на странице.
Запустить цикл, в котором счетчик это порядковый номер кнопки.

Получается, что он никогда не щелкнет по старой кнопке - потому что ее номер будет уже пройден.
 
  • Спасибо
Реакции: Meteorburn
Регистрация
23.12.2014
Сообщения
127
Благодарностей
65
Баллы
28
в простейшем приближении вижу как вот

Код:
HtmlElementCollection elc = tab.FindElementsByAttribute(); //это коллекция кнопок

for(int i=0;i<elc.Count;i++)
{
    elc.GetByNumber[i].RiseEvent("click","Full"); //кликнули по забрать пост.
    HtmlElement elc1 = tab.FindElementsByAttribute().RiseEvent("click","Full"); //кликнули по Опубликовать.
}
 
  • Спасибо
Реакции: Meteorburn

backoff

Client
Регистрация
20.04.2015
Сообщения
5 926
Благодарностей
6 389
Баллы
113
просто спарсить все id нужных кнопок, добавить в список, потом брать из списка и кликать (через конструктор действий)
я обычно так делаю, без всяких сниппетов )
 
  • Спасибо
Реакции: R3re и Meteorburn

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 448
Благодарностей
564
Баллы
113
Спасибо, друзья.
Буду пробовать, буду разбираться. отпишу о результатах.
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 448
Благодарностей
564
Баллы
113
Спасибо. Разобрался.
Реализовал методами, как и советовали. Нашёл значение атрибута "postid", которое меняется от кнопки к кнопке. Спарсил их значение и засунул в список, а потом через конструктор действий осуществил поиск по значениям атрибута. Таким образом зенка ищет следующие кнопки и на них жмёт. В C# пока не шарю, по-этому этот способ отпал, но взят на заметку.

Вот регулярка из моего метода для парсинга атрибута postid для кнопки в планировании постов в SMMbox
Код:
(?<=<button\ type="button"\ class="btn\ btn-primary\ btn-sm\ smmbox_find_take\ smmbox_btn_site"\ data-social=".*"\ data-ownerid=".*"\ data-owner-type="group"\ data-postid=").*?(?="\ data-content=")
Безумно рад. С каждым днём зенка мне нравится всё больше и больше)

Теперь прикручу счётчик и скроллинг по странице вниз, так как там lazy script отрабатывает.
 
Последнее редактирование:
  • Спасибо
Реакции: Sergodjan

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