Improve "Продолжить" button handling in PayByPhoneScript:
- Add keyboard dismissal and retry logic to ensure button visibility and tappability.
This commit is contained in:
parent
f5be380292
commit
af47dc5888
@ -396,11 +396,24 @@ void PayByPhoneScript::makePayment(
|
|||||||
AdbUtils::inputText(deviceId, QString::number(static_cast<int>(m_amount)));
|
AdbUtils::inputText(deviceId, QString::number(static_cast<int>(m_amount)));
|
||||||
QThread::msleep(1000);
|
QThread::msleep(1000);
|
||||||
|
|
||||||
// 6. Нажимаем "Продолжить"
|
// Закрываем системную софт-клавиатуру, иначе она перекрывает "Продолжить"
|
||||||
|
// (кнопка уезжает за нижнюю границу web_view_holder и имеет нулевую высоту).
|
||||||
|
AdbUtils::hideKeyboard(deviceId);
|
||||||
|
QThread::msleep(800);
|
||||||
|
|
||||||
|
// 6. Нажимаем "Продолжить" (ретраим, пока bounds перестанут быть нулевыми)
|
||||||
|
Node continueBtn;
|
||||||
|
for (int attempt = 0; attempt < 5; ++attempt) {
|
||||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(deviceId, ++m_counter));
|
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(deviceId, ++m_counter));
|
||||||
Node continueBtn = xmlScreenParser.findButtonNode("Продолжить", false);
|
continueBtn = xmlScreenParser.findButtonNode("Продолжить", false);
|
||||||
if (continueBtn.isEmpty()) {
|
if (!continueBtn.isEmpty() && continueBtn.height() > 0) break;
|
||||||
m_error = "Кнопка 'Продолжить' не найдена";
|
qDebug() << "[PayByPhone] Waiting for tappable 'Продолжить', attempt" << attempt + 1 << "/ 5"
|
||||||
|
<< "(bounds collapsed — клавиатура ещё видна?)";
|
||||||
|
AdbUtils::hideKeyboard(deviceId);
|
||||||
|
QThread::msleep(1000);
|
||||||
|
}
|
||||||
|
if (continueBtn.isEmpty() || continueBtn.height() == 0) {
|
||||||
|
m_error = "Кнопка 'Продолжить' не найдена или перекрыта клавиатурой";
|
||||||
qWarning() << "[PayByPhone]" << m_error;
|
qWarning() << "[PayByPhone]" << m_error;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user