WPF WebBrowser или Awesomium WebControl - и как управлять отображаемой веб-страницей

Есть ли способ, которым я могу отобразить веб-страницу в приложении WPF с помощью стандартного WebBrowser или Awesomium WebControl, а затем управлять им. Например, я хотел бы загрузить google.com, ввести что-то в поиск и нажать кнопку поиска. Мне удалось получить источник веб-страницы с помощью WebBrowser, но я не могу изменить значение в текстовом поле поиска. Есть ли другой способ сделать это?

Загрузка страницы так:

//private void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
        //{
        //  this.MyPage.Navigate("http://www.google.com");
        //}

Получение HTML, как это:

//private void MyPage_OnLoadCompleted(object sender, NavigationEventArgs e)
        //{
        //  dynamic doc = MyPage.Document;
        //  dynamic htmlText = doc.documentElement.InnerHtml;
        //  string htmlstring = htmlText;
            //bool search = htmlstring.Contains("lst-ib");
            //var dom = MyPage.Document as HTMLDocument;
            //if (dom != null)
            //{
            //  var ec = dom.getElementById("lst-ib");
            //  SOMETHING TO ACCESS VALUE OF lst-ib AND CLICK SEARCH

            //}
          //}

Я не смог получить HTML с Awesomium и также не могу найти что-нибудь о том, как это сделать, поэтому каждая помощь приветствуется.

1 ответ

Я сделал это так Надеюсь, это поможет кому-то

var htmlDoc = ((MainWindow)Application.Current.MainWindow).webControl.Document as HTMLDocument;
        if (htmlDoc != null)
        {
            var userid = htmlDoc.getElementById("userid") as HTMLInputElement;
            var apikey = htmlDoc.getElementById("apikey") as HTMLInputElement;
            if (userid != null && apikey != null)
            {
                userid.value = ((MainWindow)Application.Current.MainWindow).tbxApi.Text;
                apikey.value = ((MainWindow)Application.Current.MainWindow).tbxVcode.Text;

                var login = htmlDoc.getElementById("login") as HTMLFormElement;
                if (login != null)
                {
                    login.submit();
                }
            }}
Другие вопросы по тегам