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

RBK

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

Вложения

  • 1.jpg
    1.jpg
    48,3 KB · Просмотры: 560
  • 2.jpg
    2.jpg
    102,3 KB · Просмотры: 525
Привет , не получается никак сделать клик по элементу через конструктор действий , открыл код на самом сайте и нашёл элемент может это как то может помочь ? или это ничего не даёт , подскажите.

Привет. Попробуй лучше через 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. Подходит для Хрома,Файрфокса и Яндекса(естественно), не знаю насчет других браузеров
 
Привет. Попробуй лучше через 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 всё время меняется и по классу тоже, как быть тогда ?
 

Вложения

  • п.jpg
    п.jpg
    39,8 KB · Просмотры: 429
Последнее редактирование:
По xpath id всё время меняется и по классу тоже, как быть тогда ?

xpath Это не просто один элемент, это путь к элементу. Здесь разговор о том, что выборку ты даешь: точно элемент textarea, и он уникальный.
Чтобы это преодолеть, нужно указывать родителей элемента. смотришь что лежит выше и указываешь.
//input/textarea,,, ещё выше - //div/input/textarea ... //body/div/input/textarea....

Короче не знаю получилось ли у тебя, но мне тут лайк поставили и я решил ответить все равно для будущих поколений автоматизаторов.
 
Не совсем так
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 ни кнопку нажать, ни нужный текст спарсить не получится.
 
Последнее редактирование:
А что с расширением случилось? С месяц назад работало, а сейчас страница на загрузку выдает ошибку((
Для хрома совсем не обязательно устанавливать доп. расширения — открываете инструмент разработчика (или как там его правильно, F12) затем ctrl+f, и вводите в поле поиска свой xpath
 
  • Спасибо
Реакции: ikibostus и Platon

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