C# клик по элементу с передачей номера совпадения

  • Автор темы Автор темы SlipDez
  • Дата начала Дата начала
  • Теги Теги
    c# code

SlipDez

Client
Регистрация
18.07.2018
Сообщения
453
Реакции
90
Баллы
28
Есть несколько элментов на странице одинакового класса, по всем нужно совершить клик. Хочу создать функцию и вызывать ее только с разным аргументом (номером совпадения). Подскажите, что я делаю не так?
Код:
Развернуть Свернуть Копировать
int num = 0;
Action <int> Click_Approve = (num) => {
    
// Установленная пауза
System.Threading.Thread.Sleep(5 * 1000);

// Конструктор действий, тип RiseEvent
HtmlElement Aprove0 = instance.ActiveTab.FindElementByAttribute("button", "class", "\\ btn\\ btn-primary", "regexp", num);
if (Aprove0.IsVoid) return -1;

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

Ругается на
 
C#:
Развернуть Свернуть Копировать
Action <int> Click_Approve = (int num) => {
    
// Установленная пауза
System.Threading.Thread.Sleep(5 * 1000);

// Конструктор действий, тип RiseEvent
HtmlElement Aprove0 = instance.ActiveTab.FindElementByAttribute("button", "innertext", "Найти", "regexp", num);
if (Aprove0.IsVoid) throw new Exception("элемент не найден");

// Задержка эмуляции
instance.WaitFieldEmulationDelay();
// Вызвать событие "click"
Aprove0.RiseEvent("click", instance.EmulationLevel);
};
Click_Approve(0);
 
  • Спасибо
Реакции: SlipDez
C#:
Развернуть Свернуть Копировать
Action <int> Click_Approve = (int num) => {
  
// Установленная пауза
System.Threading.Thread.Sleep(5 * 1000);

// Конструктор действий, тип RiseEvent
HtmlElement Aprove0 = instance.ActiveTab.FindElementByAttribute("button", "innertext", "Найти", "regexp", num);
if (Aprove0.IsVoid) throw new Exception("элемент не найден");

// Задержка эмуляции
instance.WaitFieldEmulationDelay();
// Вызвать событие "click"
Aprove0.RiseEvent("click", instance.EmulationLevel);
};
Click_Approve(0);
А если необходимо передать 2 аргумента, необходимо также его тип объявлять? таким образом верно?
C#:
Развернуть Свернуть Копировать
Action <int> Click_Approve = (int num,int pause) => {
   
// Установленная пауза
System.Threading.Thread.Sleep(pause * 1000);

// Конструктор действий, тип RiseEvent
HtmlElement Aprove0 = instance.ActiveTab.FindElementByAttribute("button", "innertext", "Найти", "regexp", num);
if (Aprove0.IsVoid) throw new Exception("элемент не найден");

// Задержка эмуляции
instance.WaitFieldEmulationDelay();
// Вызвать событие "click"
Aprove0.RiseEvent("click", instance.EmulationLevel);
};
Click_Approve(0,10);
 
вот так:
C#:
Развернуть Свернуть Копировать
Action <int, int> Click_Approve = (int num, int pause) => {
    
// Установленная пауза
System.Threading.Thread.Sleep(pause * 1000);

// Конструктор действий, тип RiseEvent
HtmlElement Aprove0 = instance.ActiveTab.FindElementByAttribute("button", "innertext", "Найти", "regexp", num);
if (Aprove0.IsVoid) throw new Exception("элемент не найден");

// Задержка эмуляции
instance.WaitFieldEmulationDelay();
// Вызвать событие "click"
Aprove0.RiseEvent("click", instance.EmulationLevel);
};
Click_Approve(0,3);
 
  • Спасибо
Реакции: SlipDez
Спасибо всем за ответы)
 
  • Спасибо
Реакции: djaga

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