Помогите поймать кнопку

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Здравствуйте!

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

Вот есть сайт
https://rankw.ru/s/zennolab.com - после того как откроется страничка в самом низу нажимаем "Комментарии HypperComments" и там есть возможность поставить лайк или дизлайк, нажимаем на него и нас просит авторизоваться и там много иконок, именно ИКОНКУ не могу поймать, как указать клик по конкретной иконке, там в коде они тоже отображаются странно, не как картинка, при поиске элемента постоянно меняется нумерация и так далее, помогите поймать эту иконку, за что цепляться?
 

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18

p-sergei

Client
Регистрация
20.12.2016
Сообщения
542
Благодарностей
262
Баллы
63

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
Да, про этот блок идет речь. Подскажите это как реализуется? XPath
Через "Конструктор действий" этот элемент плохо находится
как через стандартные кубики - не знаю, а код для C# написали выше
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
как через стандартные кубики - не знаю, а код для C# написали выше
вставил данный код "FindElementByXPath("//div[@data-type='vk']", 0);" в экшн "Свой C#" и получаю ошибку "
Компиляция кода Ошибка в действии "CS0103" "Имя "FindElementByXPath" отсутствует в текущем контексте". [Строка: 0; Cтолбец: 1]
"
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
542
Благодарностей
262
Баллы
63
вставил данный код "FindElementByXPath("//div[@data-type='vk']", 0);" в экшн "Свой C#" и получаю ошибку "
Компиляция кода Ошибка в действии "CS0103" "Имя "FindElementByXPath" отсутствует в текущем контексте". [Строка: 0; Cтолбец: 1]
"
ну там сначала надо объявить объект
например так
HtmlElement Target = null;
потом так
Target =FindElementByXPath("//div[@data-type='vk']", 0);
потом уже надо код что вы хотите сделать с этой кнопкой
если кликнуть то так например
Target.RiseEvent("click","Full");
 
  • Спасибо
Реакции: serg32

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Сделал как вы и сказали, все по порядку:

Вот содержание моего кубика с кодом
"
HtmlElement Target = null;
Target = FindElementByXPath("//div[@data-type='vk']", 0);
Target.RiseEvent("click","Full");
"
Ошибка осталась прежней -
Компиляция кода Ошибка в действии "CS0103" "Имя "FindElementByXPath" отсутствует в текущем контексте". [Строка: 2; Cтолбец: 9]
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
542
Благодарностей
262
Баллы
63
добавить еще это в начале
Tab tab = instance.ActiveTab;

и вот так заменить

Target = tab.FindElementByXPath("//div[@data-type='vk']", 0);
 
  • Спасибо
Реакции: serg32

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43
Tab tab = instance.ActiveTab;
Target = tab.FindElementByXPath("//div[@data-type='vk']", 0);
я бы сюда еще действие клика добавил
Код:
HtmlElement Target = tab.FindElementByXPath("//div[@data-type='vk']", 0);
if (Target.IsVoid) return "error: Не удалось найти Target)";
tab.FullEmulationMouseMoveToHtmlElement(Target);
Thread.Sleep(regRandom.Next(500, 2500));
tab.FullEmulationMouseClick("left", "click");
upd. немного код исправил
 
  • Спасибо
Реакции: serg32

p-sergei

Client
Регистрация
20.12.2016
Сообщения
542
Благодарностей
262
Баллы
63
я бы сюда еще действие клика добавил
Код:
HtmlElement Target = tab.FindElementByXPath("//div[@data-type='vk']", 0);
if (Target.IsVoid) return "error: Не удалось найти Target)";
tab.FullEmulationMouseMoveToHtmlElement(Target);
Thread.Sleep(regRandom.Next(500, 2500));
tab.FullEmulationMouseClick("left", "click");
upd. немного код исправил
может у него версия которая еще не поддерживает эмуляцию мыши :bu:
 
  • Спасибо
Реакции: serg32

Art4D

Client
Регистрация
22.08.2014
Сообщения
276
Благодарностей
48
Баллы
28
Вот стандартными средствами, если я все правильно понял)
 

Вложения

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

kapelan28

Client
Регистрация
22.09.2015
Сообщения
469
Благодарностей
186
Баллы
43

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Всем спасибо, все сделал. Работает!
 

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