我创建了一个新的 WPF 项目,并向其中添加了Awesomium 1.6.3 WebControl。
然后,我将此代码添加到MainWindow.xaml.cs
:
private void webControl1_Loaded(object sender, RoutedEventArgs e)
{
webControl1.LoadURL("https://www.google.com/");
}
private void webControl1_DomReady(object sender, EventArgs e)
{
var wc = new WebClient();
webControl1.ExecuteJavascript(jQuery);
webControl1.ExecuteJavascript(@"var __jq = jQuery.noConflict();");
webControl1.ExecuteJavascript(@"alert(__jq);");
using(var result = webControl1.ExecuteJavascriptWithResult(@"(function() { return 1; })();"))
{
MessageBox.Show(result.ToString());
}
//using (var result = webControl1.ExecuteJavascriptWithResult(@"(function() { return __jq('a'); })();"))
//{
// MessageBox.Show(result.ToString());
//}
}
它会警告“1”,然后是“function (a,b){...}”,现在我考虑了一下,这是不正常的,但无论如何,这是另一个问题。
一旦我取消注释底部代码,它就会警告“1”然后挂起。为什么?我怎样才能获得有关页面上链接的一些信息?或者可靠地将一些信息传递回 C#?或者使用 C# 访问 DOM?
编辑: jQuery
只是一个包含 jQuery 1.7 代码的字符串。