Поиск элемента по атрибутам (C#)

MandaRRin

Client
Регистрация
23.07.2021
Сообщения
31
Благодарностей
3
Баллы
8
Ребзя почему такое может быть?

Срабатывает только по Tag:
instance.ActiveTab.FindElementByTag


Эти исполняются без ошибок, но и курсор в нужном направлении не двигается:
instance.ActiveTab.FindElementByAttribute

||

instance.ActiveTab.FindElementById

||

instance.ActiveTab.FindElementByName

PS По XPath тоже работает, но там сложности с рандомизацией.


Пример исполняемого кода:
string tag = "a";

string attr = "href";

string value = "какое-то моё значение";

string searchType = "regexp";

int num = 0;

var go = instance.ActiveTab.FindElementByAttribute(tag, attr, value, searchType, num);

instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(go);
 
Последнее редактирование:

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
чтобы проверить почему курсор не двигается сначала стоит проверять на так сказать фокус группе, не рандомных, а элементах, в которых уверен
 

MandaRRin

Client
Регистрация
23.07.2021
Сообщения
31
Благодарностей
3
Баллы
8
С этого и начинал. И начал со страницы на голом HTML. Может у меня какая галка не стоит в настройках?

UPD Понты с рандомом убрал из примера кода

Сегодня весь проект запилил обойдясь одним FindElementByTag (ну и XPath ес-но). Но вот одна мелкая задача требует именно
FindElementByAttribute, а он никак не хочет работать. Даже на форуме пришлось зарегистрироваться XD
 
Последнее редактирование:

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
С этого и начинал. И начал со страницы на голом HTML. Может у меня какая галка не стоит в настройках?

UPD Понты с рандомом убрал из примера кода
после строки var go...
вставь строку
if (go.IsVoid) throw new Exception("Элемент не наден по заданым атрибутам");
Что-то мне подсказывает, что по твоим параметрам просто не находятся элементы
 
  • Спасибо
Реакции: MandaRRin

MandaRRin

Client
Регистрация
23.07.2021
Сообщения
31
Благодарностей
3
Баллы
8
Код выполняется. И более того мышь переместилась в нужное место. Как так?

Без этой строчки:
Выполнение кода C# Результат: ok
Но мышь не едет.

С этой строчкой
Выполнение кода C# Результат: ok
Мышь поехала.

Может там паузу вставить в таком случае?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Код выполняется. И более того мышь переместилась в нужное место. Как так?

Без этой строчки:
Выполнение кода C# Результат: ok
Но мышь не едет.

С этой строчкой
Выполнение кода C# Результат: ok
Мышь поехала.
странно. Может на go.IsVoid что-то завязано. Хотя не олжно
 

MandaRRin

Client
Регистрация
23.07.2021
Сообщения
31
Благодарностей
3
Баллы
8

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