Клик по элементу

RBK

Новичок
Регистрация
22.09.2019
Сообщения
26
Благодарностей
2
Баллы
3
Привет , не получается никак сделать клик по элементу через конструктор действий , открыл код на самом сайте и нашёл элемент может это как то может помочь ? или это ничего не даёт , подскажите.
 

Вложения

  • 48,3 КБ Просмотры: 435
  • 102,3 КБ Просмотры: 396

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Привет , не получается никак сделать клик по элементу через конструктор действий , открыл код на самом сайте и нашёл элемент может это как то может помочь ? или это ничего не даёт , подскажите.
Привет. Попробуй лучше через C#. Заводишь кубик и пишешь в него:
C#:
Tab tab = instance.ActiveTab;
HtmlElement he = tab.FindElementByXPath(@"//textarea[contains(@СЮДА_КОПИРУЕШЬ_КЛАСС_ЭЛЕМЕНТА')]",0);
tab.FullEmulationMouseMoveToHtmlElement(he);
tab.FullEmulationMouseClick("left","click");
P.S. Вопрос в том что если класс - вещь не постоянная у этого поля - значит нужно найти другой элемент и от него скакать. Чтобы найти правильный постоянный Xpath(если такое вообще возможно) - воспользуйся Xpath Helper Wizard. Подходит для Хрома,Файрфокса и Яндекса(естественно), не знаю насчет других браузеров
 

RBK

Новичок
Регистрация
22.09.2019
Сообщения
26
Благодарностей
2
Баллы
3
Привет. Попробуй лучше через C#. Заводишь кубик и пишешь в него:
C#:
Tab tab = instance.ActiveTab;
HtmlElement he = tab.FindElementByXPath(@"//textarea[contains(@СЮДА_КОПИРУЕШЬ_КЛАСС_ЭЛЕМЕНТА')]",0);
tab.FullEmulationMouseMoveToHtmlElement(he);
tab.FullEmulationMouseClick("left","click");
P.S. Вопрос в том что если класс - вещь не постоянная у этого поля - значит нужно найти другой элемент и от него скакать. Чтобы найти правильный постоянный Xpath(если такое вообще возможно) - воспользуйся Xpath Helper Wizard. Подходит для Хрома,Файрфокса и Яндекса(естественно), не знаю насчет других браузеров
По xpath id всё время меняется и по классу тоже, как быть тогда ?
 

Вложения

  • 39,8 КБ Просмотры: 304
Последнее редактирование:

backoff

Client
Регистрация
20.04.2015
Сообщения
5 924
Благодарностей
6 388
Баллы
113
когда народ научится уже код страницы скидывать... по скрину херового качества к тому же на много сложнее помочь ...
 

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
По xpath id всё время меняется и по классу тоже, как быть тогда ?
xpath Это не просто один элемент, это путь к элементу. Здесь разговор о том, что выборку ты даешь: точно элемент textarea, и он уникальный.
Чтобы это преодолеть, нужно указывать родителей элемента. смотришь что лежит выше и указываешь.
//input/textarea,,, ещё выше - //div/input/textarea ... //body/div/input/textarea....

Короче не знаю получилось ли у тебя, но мне тут лайк поставили и я решил ответить все равно для будущих поколений автоматизаторов.
 

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
399
Баллы
63
Не совсем так
HtmlElement he = tab.FindElementByXPath(@"//textarea[contains(@СЮДА_КОПИРУЕШЬ_КЛАСС_ЭЛЕМЕНТА')]",0);
Правильнее так (и можно не весь класс вписать, а часть, которая предположительно статична)
C#:
HtmlElement he = tab.FindElementByXPath(@"//textarea[contains(@class, 'СЮДА_МОЖНО_НЕ_ВЕСЬ_КЛАСС_А_ЕГО_ЧАСТЬ')]",0);

//Скрин — гавно, поэтому поправите сами:
HtmlElement he = tab.FindElementByXPath(@"//textarea[contains(@class, 'qx_form__textarea qx_contact-form')]",0);
Как вам уже сказали выше
xpath Это не просто один элемент, это путь к элементу
Поэтому если привязка не сработает, надо искать элемент — родителя, соседа или потомка со статическим значением какого-либо атрибута и плясать от него. И да, Xpath штука, без которой в современном web ни кнопку нажать, ни нужный текст спарсить не получится.
 
Последнее редактирование:

Platon

Client
Регистрация
26.09.2015
Сообщения
260
Благодарностей
121
Баллы
43

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
399
Баллы
63
А что с расширением случилось? С месяц назад работало, а сейчас страница на загрузку выдает ошибку((
Для хрома совсем не обязательно устанавливать доп. расширения — открываете инструмент разработчика (или как там его правильно, F12) затем ctrl+f, и вводите в поле поиска свой xpath
 
  • Спасибо
Реакции: ikibostus и Platon

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