Клик по последнему элементу на странице c#

SlipDez

Client
Регистрация
18.07.2018
Сообщения
398
Благодарностей
71
Баллы
28
Подскажите, как кликнуть по последнему элементу на странице. Почему-то не получается пишет

C#:
int count = instance.ActiveTab.FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp").Count;
count = count -1;
HtmlElement next = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp", count);
next.RiseEvent("click",instance.EmulationLevel);
выдает вот это
106940

ругается на это
HtmlElement next = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp", count);
 
  • Спасибо
Реакции: Phoenix78

radv

Client
Регистрация
11.05.2015
Сообщения
3 820
Благодарностей
2 030
Баллы
113
Подскажите, как кликнуть по последнему элементу на странице. Почему-то не получается пишет

C#:
int count = instance.ActiveTab.FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp").Count;
count = count -1;
HtmlElement next = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp", count);
next.RiseEvent("click",instance.EmulationLevel);
выдает вот это Посмотреть вложение 106940
ругается на это
HtmlElement next = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp", count);
Ругается на количество аргументов в методе.
Попробуйте коллекцию элементов и выбирать последний из нее. https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic190.html
или проверить количество доступных аргументов.
 
  • Спасибо
Реакции: SlipDez

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
554
Благодарностей
1 136
Баллы
93
Подскажите, как кликнуть по последнему элементу на странице. Почему-то не получается пишет

C#:
int count = instance.ActiveTab.FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp").Count;
count = count -1;
HtmlElement next = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp", count);
next.RiseEvent("click",instance.EmulationLevel);
выдает вот это Посмотреть вложение 106940
ругается на это
HtmlElement next = instance.ActiveTab.GetDocumentByAddress("0").FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp", count);
Привет.

Вы вероятно хотели сделать это:
C#:
int count = instance.ActiveTab.FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp").Count;
count = count -1;
var next = instance.ActiveTab.GetDocumentByAddress("0")
    .FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp")
    .Elements[count];
next.RiseEvent("click",instance.EmulationLevel);
 
  • Спасибо
Реакции: isaacfks

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113
Привет.

Вы вероятно хотели сделать это:
C#:
int count = instance.ActiveTab.FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp").Count;
count = count -1;
var next = instance.ActiveTab.GetDocumentByAddress("0")
    .FindElementsByAttribute("button","class","Button_button__rXILR\\ Button_submit__yHiMc","regexp")
    .Elements[count];
next.RiseEvent("click",instance.EmulationLevel);
он просто добавил s где не надо FindElementsByAttribute
 
  • Спасибо
Реакции: SlipDez и djaga

SlipDez

Client
Регистрация
18.07.2018
Сообщения
398
Благодарностей
71
Баллы
28
Спасибо всем за помощь, так работает)
 
  • Спасибо
Реакции: djaga

SlipDez

Client
Регистрация
18.07.2018
Сообщения
398
Благодарностей
71
Баллы
28
Опять мучаюсь с этой же ерундой, только опечатки то ли еще что-то не работает((



C#:
int count = instance.ActiveTab.FindElementsByAttribute("div", "class", "Incentive_wrapper__zfBnc", "regexp").Count;
for (int a=0; a<count; a++){
string str = instance.ActiveTab.FindElementByAttribute("div", "class", "Incentive_wrapper__zfBnc", "regexp").Elements[a].GetAttribute("innertext");
    //получаем поочередно значение текста который из которого надо брать значения
    //если значение 2 то выполняем другой код
    string key1 = Regex.Match(str,@"регулярочка").Value;
    project.SendInfoToLog(key1);
    string key2 = Regex.Match(str,@"регулярочка").Value;
    project.SendInfoToLog(key2);
    if (key2=="нужное значение2"){
        //код
    }

    }
кайфую
107071

переменная mission Не существует потому что я ее для наглядности изменил No overload for method постоянно выдает
 
  • Спасибо
Реакции: Phoenix78

radv

Client
Регистрация
11.05.2015
Сообщения
3 820
Благодарностей
2 030
Баллы
113
Опять мучаюсь с этой же ерундой, только опечатки то ли еще что-то не работает((
переменная mission Не существует потому что я ее для наглядности изменил No overload for method постоянно выдает
Если меняете имя переменной, то меняйте его везде ). Переводите текст ошибки, так понятнее будет, в ошибке еще и номер строки с ошибкой часто указывается). А так, эта ошибка означает неверное количество указанных параметров или не совпадение типа параметра, смотрите всплывающие подсказки с описанием метода и значений требуемых параметров.
 
  • Спасибо
Реакции: SlipDez

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