Зацикливание Rise-Onclick Как???

DenisBY

Новичок
Регистрация
15.08.2014
Сообщения
29
Благодарностей
3
Баллы
3
Доброго времени суток. Встала передом мной интересная задачка и не знаю как ее решить.

Собственно есть html страничка. На ней от 50 до 300 одинаковых кнопок и надо их как-то все нажать. Через Rise-OnClick все прекрасно кликается, но элементов-то по поиску от 50 до 300 и делать на каждую кнопку экшен rise-onclick считаю не самым лучшим вариантом.

Может есть способ как зацикливать кликанье по диапазону кнопок, а не только по одному значению?
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
instance.ActiveTab.FindElementsByAttribute("", "", "", "").Elements.ToList().ForEach(e=>e.Click());
 

DenisBY

Новичок
Регистрация
15.08.2014
Сообщения
29
Благодарностей
3
Баллы
3
Можно немного по-подробней, а то я силен только в базовых вещах.
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
это базовая вещь.
 

lokiys

Moderator
Регистрация
01.02.2012
Сообщения
4 812
Благодарностей
1 187
Баллы
113
Доброго времени суток. Встала передом мной интересная задачка и не знаю как ее решить.

Собственно есть html страничка. На ней от 50 до 300 одинаковых кнопок и надо их как-то все нажать. Через Rise-OnClick все прекрасно кликается, но элементов-то по поиску от 50 до 300 и делать на каждую кнопку экшен rise-onclick считаю не самым лучшим вариантом.

Может есть способ как зацикливать кликанье по диапазону кнопок, а не только по одному значению?


 
  • Спасибо
Реакции: cybercat

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
а как же он узнает сколько нужно кликать если число кнопок неизвестно или примерно известно но не точно?
По мне так уж лучше вставить один раз c# код и не задумываться об этом.
 

DenisBY

Новичок
Регистрация
15.08.2014
Сообщения
29
Благодарностей
3
Баллы
3
это базовая вещь.
Не согласен. Да и в вики зенки написано что макросы для опытных пользователей. Я в программирование полный ноль т.ч не разобрался что и как.

При таком подходе клик идет по одной и той же кнопке. А нужно кликать по разным кнопках, коих n-ое количество, но все имеют одинаковые атрибуты и вид.

т.ч вопрос не решен.
 

lokiys

Moderator
Регистрация
01.02.2012
Сообщения
4 812
Благодарностей
1 187
Баллы
113
Не согласен. Да и в вики зенки написано что макросы для опытных пользователей. Я в программирование полный ноль т.ч не разобрался что и как.


При таком подходе клик идет по одной и той же кнопке. А нужно кликать по разным кнопках, коих n-ое количество, но все имеют одинаковые атрибуты и вид.

т.ч вопрос не решен.
Nuzna realjnij primer shtobi skazakj bolshe
 

DenisBY

Новичок
Регистрация
15.08.2014
Сообщения
29
Благодарностей
3
Баллы
3
Самый простой пример.

Заходим в тот же vk.com, переходим на вкладку "люди", листаем вниз экранов 10 и получаем около 200 однотипных кнопок "Добавить в друзья". Вот эти кнопки и надо нажать.
 

lokiys

Moderator
Регистрация
01.02.2012
Сообщения
4 812
Благодарностей
1 187
Баллы
113
Netu u menja vk. No mozno djelak kak ja uze pokazal, no etot counter pastav gdje # jestk.
I togda pervij raz ti klik djelajesh po 0 - taroj po 1 - trekjij po 2 i tak dalje...
 

DenisBY

Новичок
Регистрация
15.08.2014
Сообщения
29
Благодарностей
3
Баллы
3

lokiys

Moderator
Регистрация
01.02.2012
Сообщения
4 812
Благодарностей
1 187
Баллы
113

DenisBY

Новичок
Регистрация
15.08.2014
Сообщения
29
Благодарностей
3
Баллы
3

lokiys

Moderator
Регистрация
01.02.2012
Сообщения
4 812
Благодарностей
1 187
Баллы
113

prodox

Client
Регистрация
28.08.2018
Сообщения
280
Благодарностей
55
Баллы
28
Клик на кнопке принять заявку, из выхода по зеленой зациклить, закончатся то по красной выход



var tab = instance.ActiveTab;
int foundM = tab.FindElementsByXPath("//img[contains(@src,\'userapi.com\')]/parent::div[@class='friends_photo_stories ']/parent::a/parent::div/following-sibling::div/div[@class='friends_controls clear_fix']/button[contains(@id,'accept_request')]").Count;


if (foundM == 0)
{
project.SendErrorToLog("Нет заявок", true);
throw new Exception("Нет заявок");
}
else
{

HtmlElement he = instance.ActiveTab.FindElementByXPath("//img[contains(@src,\'userapi.com\')]/parent::div[@class='friends_photo_stories ']/parent::a/parent::div/following-sibling::div/div[@class='friends_controls clear_fix']/button[contains(@id,'accept_request')]", 0);

if (he.IsVoid) return -1;

instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(he);
// Задержка эмуляции
instance.WaitFieldEmulationDelay();
// Вызвать событие "click"
he.RiseEvent("click", instance.EmulationLevel);
}
 
Последнее редактирование:

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