Пример #1
0
        private void WebBrowserFrameLoadEnded(object sender, FrameLoadEndEventArgs e)
        {
            if (e.IsMainFrame)
            {
                Browser.GetSourceAsync().ContinueWith(taskHtml =>
                {
                    _libLoader.Execute(Browser);

                    var html = taskHtml.Result;

                    Browser.ExecuteScriptAsync("openLastBacktestOrderList();");

                    Thread.Sleep(500);

                    Browser.ExecuteScriptAsync("getButtonBacktestListOrders(2).click();");

                    Thread.Sleep(500);

                    Browser.ExecuteScriptAsync("backtestListOrderScrollToBottom();");

                    Thread.Sleep(1000);

                    Log.Information("Begin extract orders from backtest");
                    var orders = ExtractOrders();
                    Log.Information($"Orders extracted from backtest: {orders.Count}");

                    Log.Information("Begin order validation");
                    var validationResult = _orderCache.Push(orders);
                    Log.Information($"End order validation: {validationResult}");

                    if (validationResult.Status == ValidationStatus.Reload)
                    {
                        Thread.Sleep(1000);

                        Log.Warning("Begin reload browser after failed validation");

                        Browser.Reload();
                    }
                });
            }
        }