Периодически зависает экшен Активировать расширение. Как в таком случае прекратить выполнение шаблона.

  • Автор темы Автор темы xopek2007
  • Дата начала Дата начала

xopek2007

Client
Регистрация
10.05.2013
Сообщения
102
Реакции
11
Баллы
18
При активации расширения CapMonster Cloud EXTENSION шаблон периодически зависает.
Таймаут не помогает. Как прервать работу шаба?
 
Пробовал установку кубиками:
hcap.PNG
И на C#:
C#:
Развернуть Свернуть Копировать
string extPath = @"C:\zen\CapMonster Cloud — automated captcha solver 1.11.12.0.crx"; // Расширение .crx CapMonsterCloud
string apiKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // Апи ключ CapMonsterCloud
int attempCnt = 3; // Количество попыток разгадать каптчу от 0 до 9

// Устанавливаем расширение
instance.InstallCrxExtension(extPath);

// Активируем установленное расширение
_ = instance.GetExtensionById("pabjfbciaedomjjfelfafejkppknjleh").Activate();

// Проверка на автивацию расширения
_ = !instance.IsExtensionWorking ? throw new Exception("Не удается активировать расширение CapMonsterCloud !") : true;

// Объявим упрощенное обращение к активированному расширению
Tab ext = instance.ActiveExtension;

// Вводим Api ключ CapMonsterCloud в расширение
ext.FindElementByXPath("//input[@type='text']", 0).SetValue(apiKey.Trim(), "Full");

// Дождемся с прокликом, пока станет активной иконка сохранения Api ключа
while (true)
{
    HtmlElement saveIcon = ext.FindElementByXPath("//span[@class='anticon']/*[@fill='#46B982']", 0);
    if(!saveIcon.IsNull && !saveIcon.IsVoid)
    {
        saveIcon.Click();
        break;
    }
}

// Ожидаем прогрузку баланса
string balance = "";
var timer = System.Diagnostics.Stopwatch.StartNew();
while (true)
{
    try
     {
      
        if (timer.ElapsedMilliseconds > 10000)     throw new Exception("Не удалось соединиться с сервером CapMonsterCloud в течении 10 секунд !");
  
        balance = ext.FindElementByXPath("//span[starts-with(@class, 'ant-typography')]", 3).InnerText;
        if (balance.Contains("$")) break;
        else if (balance.Contains("Неверный ключ")) throw new Exception("Неверный Api ключ CapMonsterCloud !");
      
     }
     finally { timer.Stop(); } 
}
  
// Проверим на низкий баланс
double buy = double.Parse(new string(balance.Where(x => char.IsDigit(x) || x == '.').ToArray()), System.Globalization.CultureInfo.InvariantCulture);
if (buy < 0.05) throw new Exception($"Слишком маленький баланс CapMonsterCloud: {buy}$ !");

// Выбираем кол-во повторных решений, в случае ошибки распознавания
if (0 < attempCnt && attempCnt < 10)
{
    ext.FindElementByXPath("//span[@class='ant-select-selection-item']", 0).Click();
    ext.FindElementByXPath("//*[@class='ant-select-item-option-content']", attempCnt).Click();
}

// Выбираем токен как вариант решения hcaptcha
HtmlElement he = instance.ActiveExtension.FindElementByAttribute("span", "innertext", "Token", "regexp", 1);
if (he.IsVoid) return -1;

// Задержка эмуляции
instance.WaitFieldEmulationDelay();
// Вызвать событие "click"
he.RiseEvent("click", instance.EmulationLevel);

// Клик по кнопке Закрыть
HtmlElement helem = instance.ActiveExtension.GetDocumentByAddress("0").FindElementByAttribute("button", "class", "ant-btn\\ ant-btn-text\\ sc-1om12l0\\ lnoqzy", "regexp", 0);
if (helem.IsVoid) return -1;

// Задержка эмуляции
instance.WaitFieldEmulationDelay();
// Вызвать событие "click"
helem.RiseEvent("click", instance.EmulationLevel);

// Убираем расширение с экрана
instance.ActiveTab.FindElementByXPath("/html", 0).Click();
И все равно зависают. Причем наглухо. Кнопкой "Прервать" не останавливаются.
Может кто посоветует как решить эту проблему.
 
А как узнать на какой?
 
На строке
Активируем установленное расширение
 
Это походу баг какой-то. Удаление проекта не снимает зависшие потоки. Только перезагрузка ЗП.
 
Такая же проблема, зависает и висит долго, иногда навсегда...
 
актуально на ProjectMaker V7 RU 7.8.2.0 для Translate 2.0.10.0.crx (Загружать файлы данного типа нельзя. )
Работает через раз и виснет без возможности перезапуска, на 7.7.1.0 все норм.
 
актуально на ProjectMaker V7 RU 7.8.2.0 для Translate 2.0.10.0.crx (Загружать файлы данного типа нельзя. )
Работает через раз и виснет без возможности перезапуска, на 7.7.1.0 все норм.
Хорошо, проверим.
Примерно с какой вероятностью происходят зависания и при каких действиях?
Как выглядят зависания? Зависает приложение ПМ/ЗП или окно инстанса может быть?

PS: проблема решена?
 

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