FindElementByAttribute как выбрать последнее совпадение?

  • Автор темы Автор темы Delvig
  • Дата начала Дата начала

Delvig

Client
Регистрация
07.09.2016
Сообщения
134
Реакции
132
Баллы
43
Здравствуйте, как при использовании метода FindElementByAttribute выбрать последнее совпадение? При использовании экшена "клик" можно задать просто end. Поиск мне не дал ответа, вот только описание к версии 5.9.9.0:

[+] Добавлен метод Tab.FindElementByAttribute(string tags, string attrName, string attrValue, string searchKind, string number), который в качестве значения «number» может принимать диапазоны значений, к примеру «random1(1,12-15,35-end)».

Но в C# "end" будет просто переменной, которую надо задавать. В голову приходит мысль только самостоятельно считать количество совпадений, а потом подставлять. Есть ли какие-то другие варианты? Спасибо.
 
А что если использовать FindElementsByAttribute?
Код:
Развернуть Свернуть Копировать
var collection = instance.ActiveTab.FindElementsByAttribute (...);
return collection.GetByNumber(collection.Count - 1);
 
  • Оценить
Реакции: Dmffmd, arhip1985 и doc
Здравствуйте, как при использовании метода FindElementByAttribute выбрать последнее совпадение? При использовании экшена "клик" можно задать просто end. Поиск мне не дал ответа, вот только описание к версии 5.9.9.0:

[+] Добавлен метод Tab.FindElementByAttribute(string tags, string attrName, string attrValue, string searchKind, string number), который в качестве значения «number» может принимать диапазоны значений, к примеру «random1(1,12-15,35-end)».

Но в C# "end" будет просто переменной, которую надо задавать. В голову приходит мысль только самостоятельно считать количество совпадений, а потом подставлять. Есть ли какие-то другие варианты? Спасибо.
ну так задавай "end", не понимаю проблемы
 
А что если использовать FindElementsByAttribute?
Код:
Развернуть Свернуть Копировать
var collection = instance.ActiveTab.FindElementsByAttribute (...);
return collection.GetByNumber(collection.Count - 1);


Попробовал.
Код:
Развернуть Свернуть Копировать
var collection = instance.ActiveTab.FindElementsByAttribute ("a", "href", "albums", "regexp");
return collection.GetByNumber(collection.Count - 1);

Возвращает ZennoLab.CommandCenter.HtmlElement
 
Возвращает ZennoLab.CommandCenter.HtmlElement

Код:
Развернуть Свернуть Копировать
var collection = instance.ActiveTab.FindElementsByAttribute ("a", "href", "albums", "regexp");
var element = collection.GetByNumber(collection.Count - 1);
// а тут уже делаем что хотим с этим элементом, например вернём значение href
return element.GetAttribute("href");
// return element.innerText; // внутренний текст.
// element.RiseEvent("click", "Full"); // кликаем по элементу.

Доступные свойства и методы HtmlElement'а
 
  • Оценить
Реакции: lybimiy86 и Dmffmd
добрый ! есть вот такой код
HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("i", "class", "event2-icon event2-icon--accepted", "regexp", 0);

как нажать на элемент который как раз НЕ содержит данного class типа
HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("i", "class", !=="event2-icon event2-icon--accepted", "regexp", 0);
 
Попробовал.
Код:
Развернуть Свернуть Копировать
var collection = instance.ActiveTab.FindElementsByAttribute ("a", "href", "albums", "regexp");
return collection.GetByNumber(collection.Count - 1);

Возвращает ZennoLab.CommandCenter.HtmlElement
Подскажите как получить номер последнего совпадения
 

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