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);
}