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