подключение расширения MetaMask к сайту

AsuprA

Client
Регистрация
20.04.2023
Сообщения
73
Благодарностей
2
Баллы
8
Здравствуйте. Прошу помощи со следующим вопросом. На некоторых сайтах не могу подключить кошелёк Метамаск к сайту. Например к https://app.eralend.com/
Нажимаю Connect Wallet, появляется всплывающее окно, но его в дереве элементов нет, протыкал все элементы. Может есть возможность в зенке нажимать на элемент через поиск текста или как справиться с этой задачей?
 

Вложения

Ахилес

Client
Read only
Регистрация
11.11.2020
Сообщения
956
Благодарностей
393
Баллы
63

AsuprA

Client
Регистрация
20.04.2023
Сообщения
73
Благодарностей
2
Баллы
8
В DevTools смотри и там же составляй xpath
А можно немного подробнее, что именно нужно найти в devtools? И обязательно запрос составлять через xpatch? Поиск слова Метамаск результатов не дал.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 529
Благодарностей
3 375
Баллы
113
Может вы об окне расширения? Оно в отдельной вкладке живёт.
 

AsuprA

Client
Регистрация
20.04.2023
Сообщения
73
Благодарностей
2
Баллы
8
y
Может вы об окне расширения? Оно в отдельной вкладке живёт.
Нет. У меня проблема до вызова окна расширения. Я скрин прикрепил. Я именно в этом окне зенопостером не могу нажать на MetaMask. Сейчас я на этом шаге ожидаю действия пользователя. После программа работает нормально. Но очень неудобно сидеть и каждый поток вручную тыкать. Раз на странице я код не нахожу, может через post get запросы это можно реализовать. Но тут тоже не смог пока разобраться. В частности, в пост запросе есть параметр sid, но его я тоже нигде не нашёл((. Снимок экрана 2024-02-27 002022.png
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113
y

Нет. У меня проблема до вызова окна расширения. Я скрин прикрепил. Я именно в этом окне зенопостером не могу нажать на MetaMask. Сейчас я на этом шаге ожидаю действия пользователя. После программа работает нормально. Но очень неудобно сидеть и каждый поток вручную тыкать. Раз на странице я код не нахожу, может через post get запросы это можно реализовать. Но тут тоже не смог пока разобраться. В частности, в пост запросе есть параметр sid, но его я тоже нигде не нашёл((. Посмотреть вложение 118439
Попробуйте относительно координат какого то элемента, который в 'Дереве' отображается, сделать клик на приращенных координатах кубиком 'Эмуляция мыши'.
 

Alex733

Client
Регистрация
27.11.2017
Сообщения
331
Благодарностей
243
Баллы
43
Метамаск находится за shadow-dom.
Только через js или поиск по картинке.
Что-то вроде -
JavaScript:
var mtm = document.getElementsByTagName('onboard-v2')[0]
                                              .shadowRoot
                                              .querySelector('div[class*="name"]'); 
                                    mtm.click();
 
  • Спасибо
Реакции: Buddha и AsuprA

AsuprA

Client
Регистрация
20.04.2023
Сообщения
73
Благодарностей
2
Баллы
8
А что подставлять вместо onboard-v2 и div[class*="name"] где-то можно найти? Вместо div[class*="name"] можно попробовать div[innertext*="MetaMask"]? Я правильно думаю или эти параметры надо где-то парсить?
 

Alex733

Client
Регистрация
27.11.2017
Сообщения
331
Благодарностей
243
Баллы
43
Этот пример рабочего кода, который из вашей страницы сделан (сначала только нужно нажать чекбокс).
Можете для удобства в хроме зайти на эту страницу и ПКМ -> показать код.
В консоли тестируете js, затем переносите в зену.
 

Dimaf

Новичок
Регистрация
29.09.2016
Сообщения
3
Благодарностей
0
Баллы
1
Подскажите, как нажать на Connect Wallet, а потом Matamask с помощью JavaScript. URL - https://referrals.linea.build/
Перепробовал разные варианты ничего не подошло.
 

sydoow

Client
Регистрация
22.06.2011
Сообщения
293
Благодарностей
154
Баллы
43
нажать на Connect Wallet
JavaScript:
document.querySelector("w3m-button").shadowRoot.querySelector("w3m-connect-button").shadowRoot.querySelector("wui-connect-button").click()
JavaScript:
document.querySelector("w3m-modal").shadowRoot.querySelector("w3m-router").shadowRoot.querySelector("w3m-connect-view").shadowRoot.querySelector('[name="MetaMask"]').click()
 
  • Спасибо
Реакции: Buddha

Danilbj

Client
Регистрация
19.04.2021
Сообщения
9
Благодарностей
0
Баллы
1
JavaScript:
document.querySelector("w3m-button").shadowRoot.querySelector("w3m-connect-button").shadowRoot.querySelector("wui-connect-button").click()

JavaScript:
document.querySelector("w3m-modal").shadowRoot.querySelector("w3m-router").shadowRoot.querySelector("w3m-connect-view").shadowRoot.querySelector('[name="MetaMask"]').click()
Добрый день!
Подскажите пожалуйста, как сделать клик по элементу с условием содержания текста?

Вот пример кода:
Кусок кода с сайта:
<button class="wallet-button-styling svelte-1vlog3j"><div class="wallet-button-container-inner svelte-1vlog3j"><div class="relative svelte-i129jl border-custom background-transparent" style="; padding: 8.333333333333334px; width: 48px; height: 48px; border-radius: 12px; color: black;"><div class="icon flex justify-center items-center svelte-i129jl" style=""><!--?xml version="1.0" encoding="utf-8"?-->

<div class="wallet-button-container-inner svelte-1vlog3j">

<div class="name svelte-1vlog3j">MetaMask</div> </div></button>
Вот код JavaScript:
JavaScript:
document.querySelector('onboard-v2').shadowRoot.querySelector('button div:contains["MetaMask"]').click()
Но почему-то не кликает. Возможно я не правильно собрал.

Буду благодарен, если поправите.
 

Danilbj

Client
Регистрация
19.04.2021
Сообщения
9
Благодарностей
0
Баллы
1
Метамаск находится за shadow-dom.
Только через js или поиск по картинке.
Что-то вроде -
JavaScript:
var mtm = document.getElementsByTagName('onboard-v2')[0]
                                              .shadowRoot
                                              .querySelector('div[class*="name"]');
                                    mtm.click();
Добрый день!
Подскажите пожалуйста, как сделать клик по элементу с условием содержания текста

Вот пример кода с сайта:
Кусок кода с сайта:
<button class="wallet-button-styling svelte-1vlog3j"><div class="wallet-button-container-inner svelte-1vlog3j"><div class="relative svelte-i129jl border-custom background-transparent" style="; padding: 8.333333333333334px; width: 48px; height: 48px; border-radius: 12px; color: black;"><div class="icon flex justify-center items-center svelte-i129jl" style=""><!--?xml version="1.0" encoding="utf-8"?-->

<div class="wallet-button-container-inner svelte-1vlog3j">

<div class="name svelte-1vlog3j">MetaMask</div> </div></button>
Вот код JavaScript:
JavaScript:
document.querySelector('onboard-v2').shadowRoot.querySelector('button div:contains["MetaMask"]').click()
Но почему-то не кликает. Возможно я не правильно собрал.

Буду благодарен, если поправите.
 

Alex733

Client
Регистрация
27.11.2017
Сообщения
331
Благодарностей
243
Баллы
43
Нужен сайт
 

Danilbj

Client
Регистрация
19.04.2021
Сообщения
9
Благодарностей
0
Баллы
1

Alex733

Client
Регистрация
27.11.2017
Сообщения
331
Благодарностей
243
Баллы
43
document.querySelector('w3m-modal').shadowRoot.querySelector('w3m-router').shadowRoot.querySelector('w3m-connect-view').shadowRoot.querySelector('wui-flex').querySelector('wui-list-wallet[name="MetaMask"]').click()
 

heks

Client
Регистрация
01.10.2013
Сообщения
1 222
Благодарностей
329
Баллы
83
вроде реф ссылки запрещены. или я что то путаю/r такому сайту не вздумайте свои кошельки крепить. Драйнеры походу висят. Я бы вообще снес данную тему домены зарегистрированы в отдом и том же месяце
ambient.finance/swap/chain=0x1&tokenA=0x0000000000000000000000000000000000000000&tokenB=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48

Токена как такогого нету. Даже тут лоханулись криво сделали
 
Последнее редактирование:

Danilbj

Client
Регистрация
19.04.2021
Сообщения
9
Благодарностей
0
Баллы
1
вроде реф ссылки запрещены. или я что то путаю/r такому сайту не вздумайте свои кошельки крепить. Драйнеры походу висят. Я бы вообще снес данную тему домены зарегистрированы в отдом и том же месяце
ambient.finance/swap/chain=0x1&tokenA=0x0000000000000000000000000000000000000000&tokenB=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48

Токена как такогого нету. Даже тут лоханулись криво сделали
Не совсем понимаю о каких ещё реф ссылках речь? Как скопировал с адресной строки, так и вставил.

Если вы после домена видите слово roistat, то рекомендую почитать, что это такое.
 

Danilbj

Client
Регистрация
19.04.2021
Сообщения
9
Благодарностей
0
Баллы
1

heks

Client
Регистрация
01.10.2013
Сообщения
1 222
Благодарностей
329
Баллы
83

Danilbj

Client
Регистрация
19.04.2021
Сообщения
9
Благодарностей
0
Баллы
1

AsuprA

Client
Регистрация
20.04.2023
Сообщения
73
Благодарностей
2
Баллы
8
А не могли бы ещё раз помочь? Теперь та же история с сайтом https://poh.linea.build/
Снова пытаюсь нажать кнопку МетаМаск:
Как я понял, она за несколькими shadowRoot, пробовал разные варианты, но все выдают ошибку. Как на этом сайте нажать МетаМаск??

JavaScript:
var mtm = document.getElementsByTagName('w3m-modal')[0]
                                                .shadowRoot
                                                .getElementsByTagName('w3m-router')[0]
                                                    .shadowRoot
                                                    .getElementsByTagName('w3m-connect-view')[0]
                                                        .shadowRoot
                                                        .querySelector('wui-list-wallet[name*=MetaMask]');
 

Alex733

Client
Регистрация
27.11.2017
Сообщения
331
Благодарностей
243
Баллы
43
MetaMask - в двойные кавычки
 

AsuprA

Client
Регистрация
20.04.2023
Сообщения
73
Благодарностей
2
Баллы
8

Вложения

Alex733

Client
Регистрация
27.11.2017
Сообщения
331
Благодарностей
243
Баллы
43
document.querySelector('w3m-modal').shadowRoot.querySelector('wui-card > w3m-router').shadowRoot.querySelector('w3m-connect-view').shadowRoot.querySelector('wui-flex').querySelector('wui-list-wallet[name="MetaMask"]').click()
 
  • Спасибо
Реакции: AsuprA

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