Подскажите как кликнуть на гугле

phelix

Пользователь
Регистрация
28.04.2021
Сообщения
62
Благодарностей
13
Баллы
8
Делаю проект связан с Google/gmail где нужно кликнуть на кнопку в аккаунте.
Проблема в том что css class при каждом посещений разный, можно только найти по attribute: innertext или innerhtml.

Но... когда делаю поиск по этим параметрам с "click" или "onclick", оно работает только при "test", но после добавление в проект и перезагрузки страницы - функция просто выполняеться, но клик не происходить.

Пробовал то же самое через attribute css "class" - всё работает чётно.

"Touch" работает но иногда глючит при запуске в Zennoposter многопоток - прошлый опыт показал что он не надёжен.

Пробовал найти элемент с помощью "innertext" и сделать GET "class", патом поставив в переменную, кликнуть на этот класс отдельной функцией - но сам процесс GET "class" мозгокрутен так как div с нужны классным находиться на 2 уровня выше и до него есть другие классы который вместо него парситься.

Знаю это не много через ж*пу решение, но очень надо и уже 2 дня не могу решить проблему.

Подскажите есть ли более простые решение?
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
Делаю проект связан с Google/gmail где нужно кликнуть на кнопку в аккаунте.
Проблема в том что css class при каждом посещений разный, можно только найти по attribute: innertext или innerhtml.

Но... когда делаю поиск по этим параметрам с "click" или "onclick", оно работает только при "test", но после добавление в проект и перезагрузки страницы - функция просто выполняеться, но клик не происходить.

Пробовал то же самое через attribute css "class" - всё работает чётно.

"Touch" работает но иногда глючит при запуске в Zennoposter многопоток - прошлый опыт показал что он не надёжен.

Пробовал найти элемент с помощью "innertext" и сделать GET "class", патом поставив в переменную, кликнуть на этот класс отдельной функцией - но сам процесс GET "class" мозгокрутен так как div с нужны классным находиться на 2 уровня выше и до него есть другие классы который вместо него парситься.

Знаю это не много через ж*пу решение, но очень надо и уже 2 дня не могу решить проблему.

Подскажите есть ли более простые решение?
Куда там вам кликнуть нужно пишите.
 

phelix

Пользователь
Регистрация
28.04.2021
Сообщения
62
Благодарностей
13
Баллы
8
<div class="lCoei YZVTmd SmR8" role="link" tabindex="0" jsname="EBHGs" data-accountrecovery="false" data-skiplist="false" data-challengeunavailable="false" data-challengeindex="1" data-challengetype="9" data-sendmethod="SMS"><div class="wupBIe" aria-hidden="true"><svg aria-hidden="true" class="stUf5b" fill="currentColor" focusable="false" width="24px" height="24px" viewBox="0 0 24 24" xmlns="https://www.w3.org/2000/svg"><path d="M20,2 L4,2 C2.9,2 2.01,2.9 2.01,4 L2,22 L6,18 L20,18 C21.1,18 22,17.1 22,16 L22,4 C22,2.9 21.1,2 20,2 Z M20,16 L4,16 L4,4 L20,4 L20,16 Z M6,12 L14,12 L14,14 L6,14 L6,12 Z M6,9 L18,9 L18,11 L6,11 L6,9 Z M6,6 L18,6 L18,8 L6,8 L6,6 Z"></path></svg></div><div class="vxx8jf"><div class="PrDSKc">Get a verification code at <span class="Q1P0F" jscontroller="UsNePd" jsshadow="" jsaction=""><span dir="ltr" jsname="wKtwcc">(•••) •••-••88</span></span></div><div class="R1xbyb">Standard rates apply</div></div></div>


Path это иконка,
Второй bold это сам текст.

Только по этим двум критерием могу найти эту кнопку.

Моя цель = найти class "lCoei YZVTmd SmR8"
 

phelix

Пользователь
Регистрация
28.04.2021
Сообщения
62
Благодарностей
13
Баллы
8
<div class="lCoei YZVTmd SmR8" role="link" tabindex="0" jsname="EBHGs" data-accountrecovery="false" data-skiplist="false" data-challengeunavailable="false" data-challengeindex="1" data-challengetype="9" data-sendmethod="SMS"><div class="wupBIe" aria-hidden="true"><svg aria-hidden="true" class="stUf5b" fill="currentColor" focusable="false" width="24px" height="24px" viewBox="0 0 24 24" xmlns="https://www.w3.org/2000/svg"><path d="M20,2 L4,2 C2.9,2 2.01,2.9 2.01,4 L2,22 L6,18 L20,18 C21.1,18 22,17.1 22,16 L22,4 C22,2.9 21.1,2 20,2 Z M20,16 L4,16 L4,4 L20,4 L20,16 Z M6,12 L14,12 L14,14 L6,14 L6,12 Z M6,9 L18,9 L18,11 L6,11 L6,9 Z M6,6 L18,6 L18,8 L6,8 L6,6 Z"></path></svg></div><div class="vxx8jf"><div class="PrDSKc">Get a verification code at <span class="Q1P0F" jscontroller="UsNePd" jsshadow="" jsaction=""><span dir="ltr" jsname="wKtwcc">(•••) •••-••88</span></span></div><div class="R1xbyb">Standard rates apply</div></div></div>


Path это иконка,
Второй bold это сам текст.

Только по этим двум критерием могу найти эту кнопку.

Моя цель = найти class "lCoei YZVTmd SmR8"
Нашол ещё один элемент по которому можно найти правильную кнопку 'data-sendmethod="SMS"'
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43

sw_sw

Client
Регистрация
24.02.2017
Сообщения
769
Благодарностей
307
Баллы
63
<div class=Get a verification code at
По xpath
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
<div class=Get a verification code at
По xpath
Я тут не вижу ткого класса
Можно тексту искать
//*[text()='Get a verification code at']
Или
//*[@data-sendmethod='SMS']

Код
C#:
instance.ActiveTab.FindElementByXPath("//*[text()='Get a verification code at']",0).Click();
и
C#:
instance.ActiveTab.FindElementByXPath("//*[@data-sendmethod='SMS']",0).Click();
 
  • Спасибо
Реакции: phelix и sw_sw

sw_sw

Client
Регистрация
24.02.2017
Сообщения
769
Благодарностей
307
Баллы
63
Я тут не вижу ткого класса
Можно тексту искать
//*[text()='Get a verification code at']
Или
//*[@data-sendmethod='SMS']

Код
C#:
instance.ActiveTab.FindElementByXPath("//*[text()='Get a verification code at']",0).Click();
и
C#:
instance.ActiveTab.FindElementByXPath("//*[@data-sendmethod='SMS']",0).Click();
Там и нету такого класса, я просто паттерны показал =)
А так все верно. По тексту и тд.
 

phelix

Пользователь
Регистрация
28.04.2021
Сообщения
62
Благодарностей
13
Баллы
8
Я тут не вижу ткого класса
Можно тексту искать
//*[text()='Get a verification code at']
Или
//*[@data-sendmethod='SMS']

Код
C#:
instance.ActiveTab.FindElementByXPath("//*[text()='Get a verification code at']",0).Click();
и
C#:
instance.ActiveTab.FindElementByXPath("//*[@data-sendmethod='SMS']",0).Click();
Сработало!
спс большое +
 

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