cefsharp, как проверка всех java-скриптов на странице завершена? - PullRequest
0 голосов
/ 05 ноября 2018

Я использую браузер CefSharp и c #.

Я пытаюсь зайти на страницу, но когда я нажимаю кнопку отправки, страница не обновляется до тех пор, пока не будет успешно выполнен вход, а если нет, то страница загрузится на сервер и получит сообщение об ошибке пароля

Как я могу проверить, все ли сценарии Java на странице после отправки?

//Initialize ChromiumWebBrowser
Chromium = new ChromiumWebBrowser("www.exapmle.com/login");

        this.panel2.Controls.Add(chrom);
        Chromium.Show();
        Chromium.Dock = DockStyle.Fill;

нажмите кнопку отправки var cvbar = chrom.EvaluateScriptAsync ("document.getElementById (\" login_u \ ");

Я хочу здесь, чтобы проверить, завершен ли весь JavaScript как то так

 if(javascripteCompleted()
 {
        var response = cvbar.Result;
        if (response.Success == true && response.Result.ToString() != "")
        {
          //  MessageBox.Show(response.Result.ToString());
        }
  }

спасибо

1 Ответ

0 голосов
/ 13 ноября 2018

это то, что я сделал, чтобы показать веб-страницу, только когда она загружена, и до этого показывать SPINNER

private void Cefbrowser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
    {
        if (!e.IsLoading)
        {
            Application.Current.Dispatcher.Invoke(delegate
            {
                myspin.Visibility = Visibility.Collapsed;
            });

        }
    }

мой код XAML

<StackPanel Name="panel">
            <Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" MinHeight="700" Height="{Binding ElementName=panel,Path=ActualHeight}" Name="maingrid">
                <fa:ImageAwesome Name="myspin" Icon="Spinner" Spin="True" SpinDuration="4" Height="80" />
            </Grid>
        </StackPanel>

Первоначально я поставил замечательный блесну, которая показывает, что страница загружается при изменении состояния загрузки if (!e.IsLoading) заполнена, тогда блесна уходит в фон и webWINDOW загружается так: -

chrome.Load(URL);

** FYI Loading_State_Changed работает, когда загружается вся страница html + javascript + css **

...