Проблемы с Метамаском

Maxxxxxx

Client
Регистрация
12.11.2024
Сообщения
3
Благодарностей
0
Баллы
1
Подскажите как исправить шаблон, при подписании транзакции в Метамаске кнопка "Confirm" часто бывает не активная но скрипт нажимает на кнопку и идет дальше, при етом транзакция конечно не подписываеться(
Как можно правильно прописать подпись транзакции?
 

Вложения

Alex91

Известная личность
Read only
Регистрация
15.08.2024
Сообщения
880
Благодарностей
251
Баллы
63
Составь правильный xpath что бы не кликал по неактивной кнопке.
 
  • Спасибо
Реакции: Maxxxxxx

severiniv

Client
Регистрация
17.09.2019
Сообщения
14
Благодарностей
1
Баллы
3
Как вариант - через костыль, создать два кубика нажатия и при успешном - перескакивать на второй. И далее, пока "нажимается". А при неуспешном нажатии, значит, кнопка недоступна, скорее всего, транзакция была отправлена, тогда уже делаем переход к нужному дальнейшему действию.
 

Hanger

Client
Регистрация
27.11.2023
Сообщения
26
Благодарностей
13
Баллы
3
Подскажите как исправить шаблон, при подписании транзакции в Метамаске кнопка "Confirm" часто бывает не активная но скрипт нажимает на кнопку и идет дальше, при етом транзакция конечно не подписываеться(
Как можно правильно прописать подпись транзакции?
C#:
int timeoutSeconds = 5; // Время ожидания изменений домена
int maxAttempts = 3; // Максимальное количество попыток нажать кнопку
int sleepMilliseconds = 3; // Задержка между проверками
DateTime domainChangeTime = DateTime.MinValue;
int attempts = 3; // Счетчик попыток

while (true)
{
    // Проверяем домен
    if (instance.ActiveTab.Domain != "mcohilncbfahbmgdjkbpemcciiolgcge")
    {
        if (domainChangeTime == DateTime.MinValue)
        {
            domainChangeTime = DateTime.Now;
        }
        else if ((DateTime.Now - domainChangeTime).TotalSeconds >= timeoutSeconds)
        {
            // Домен отличался в течение timeoutSeconds секунд, задача выполнена
            break; // Выходим из цикла
        }
    }
    else
    {
        domainChangeTime = DateTime.MinValue; // Сбрасываем время изменения домена
    }

    // Ищем кнопку
    HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0")
        .FindElementByXPath("//span[contains([USER=46442]@class[/USER], 'btn-content')]//div[text()='Confirm']", 0);

    if (!he.IsVoid)
    {
        // Кнопка найдена, нажимаем
        instance.WaitFieldEmulationDelay();
        he.RiseEvent("click", instance.EmulationLevel);

        // Ждем 5 секунд
        System.Threading.Thread.Sleep(5000);

        // Проверяем кнопку после нажатия
        he = instance.ActiveTab.GetDocumentByAddress("0")

            .FindElementByXPath("//span[contains([USER=46442]@class[/USER], 'btn-content')]//div[text()='Confirm']", 0);

        if (he.IsVoid)
        {
            // Кнопки нет, проверяем домен
            if (instance.ActiveTab.Domain != "mcohilncbfahbmgdjkbpemcciiolgcge")
            {
                // Домен изменился, задача выполнена
                break;
            }
        }
        else
        {
            // Кнопка осталась, увеличиваем счетчик попыток
            attempts++;
            if (attempts >= maxAttempts)
            {
                // Превышено максимальное количество попыток
                break;
            }
        }
    }

    // Небольшая задержка перед повторной проверкой
    System.Threading.Thread.Sleep(sleepMilliseconds);
}

Сделано для окекс, переделай под метамаск
 
Последнее редактирование модератором:
  • Спасибо
Реакции: Maxxxxxx

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
21 019
Благодарностей
9 356
Баллы
113
Последнее редактирование:
  • Спасибо
Реакции: Maxxxxxx и Hanger

Maxxxxxx

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

olegbez007

Client
Регистрация
02.11.2022
Сообщения
230
Благодарностей
40
Баллы
28

Alex91

Известная личность
Read only
Регистрация
15.08.2024
Сообщения
880
Благодарностей
251
Баллы
63

olegbez007

Client
Регистрация
02.11.2022
Сообщения
230
Благодарностей
40
Баллы
28

Alex91

Известная личность
Read only
Регистрация
15.08.2024
Сообщения
880
Благодарностей
251
Баллы
63

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