diff --git a/android/ozon/PayByPhoneScript.cpp b/android/ozon/PayByPhoneScript.cpp index 400f3cd..a8e739f 100644 --- a/android/ozon/PayByPhoneScript.cpp +++ b/android/ozon/PayByPhoneScript.cpp @@ -162,7 +162,11 @@ void PayByPhoneScript::makePayment( } return true; }; - // 1. Нажимаем "Перевести" на домашнем экране + // 1. Нажимаем "Перевести" на домашнем экране. + // Внимание: поверх правой части кнопки сидит referral-бейдж "badge icon за друга" + // (bounds типа [550,90][602,140]), который перекрывает центр кнопки. Тап в центр + // открывает промо "До 3 000 за рекомендацию". Тапаем в левую четверть, чтобы + // гарантированно попасть мимо бейджа. Node transferBtn = xmlScreenParser.findButtonNode("Перевести", false); if (transferBtn.isEmpty()) { m_error = "Кнопка 'Перевести' не найдена на домашнем экране"; @@ -170,8 +174,10 @@ void PayByPhoneScript::makePayment( return; } - qDebug() << "[PayByPhone] Tapping 'Перевести'..."; - AdbUtils::makeTap(deviceId, transferBtn.x(), transferBtn.y()); + const int transferTapX = transferBtn.x1() + transferBtn.width() / 4; + qDebug() << "[PayByPhone] Tapping 'Перевести' at" << transferTapX << "," << transferBtn.y() + << "(avoiding 'за друга' badge on right)"; + AdbUtils::makeTap(deviceId, transferTapX, transferBtn.y()); QThread::msleep(2000); // 2. Ждём экран "Платежи и переводы" с полем "Телефон получателя"