从 c# 中的 awesomium webcontrol 中获取元素
Get Element from awesomium webcontrol in c#
我需要获取'p'元素,我使用以下代码
dynamic document = webControl1.ExecuteJavascriptWithResult("document"); var p = document.getElementsByTagName("p");
但它不起作用我将Awesomium v1.7.5.1与Visual Studio 2010一起使用
您需要从这些段落中获取哪些具体数据?在我下面发布的当前示例中,获取每个段落的内部 HTML。JavaScript可以是:
function GetContents() {
var arr = [];
var paragraphs = document.getElementsByTagName('p');
for (var i = 0; i < paragraphs.length; i++) {
arr.push(paragraphs[i].innerHTML);
}
return arr;
}
GetContents();
您可以通过以下方式直接执行此操作:
JSObject paragraphs = webControl1.ExecuteJavascriptWithResult("function GetContents() {var arr = [];var paragraphs = document.getElementsByTagName('p');for (var i = 0; i < paragraphs.length; i++) {arr.push(paragraphs[i].innerHTML);}return arr;} GetContents();")
然而,就我而言,似乎我一直在为可变段落获取未定义的内容。对我来说,解决方法是将GetContents()
放在alert()
函数中。
它变成这样:
JSObject paragraphs = webControl1.ExecuteJavascriptWithResult("function GetContents() {var arr = [];var paragraphs = document.getElementsByTagName('p');for (var i = 0; i < paragraphs.length; i++) {arr.push(paragraphs[i].innerHTML);}return arr;} alert(GetContents());")
并且您需要等待事件webControl1.ShowJavascriptDialog
触发。
在 Visual Basic.NET 中,您可以执行以下操作:
Private Sub JSDialog(ByVal sender As Object, ByVal e As JavascriptDialogEventArgs) Handles webControl1.ShowJavascriptDialog
e.Cancel = False
e.Handled = True
MessageBox.Show(e.Message)
End Sub
在 C# 中,可以通过创建以下函数来执行此操作:
private void JSDialog(object sender, JavascriptDialogEventArgs e) {
e.Cancel = false;
e.Handled = true;
MessageBox.Show(e.Message);
}
并添加以下内容:
webControl1.ShowJavascriptDialog += OnShowJavascriptDialog;
相关文章:
- 如何在jQuery中获取元素的形式
- 通过id和class属性获取元素
- Javascript:Can't使用getElementById获取元素
- 使用jquery.html()获取元素本身的html
- 如何从iframe内部获取元素
- Javascript函数获取元素内容
- 使用模板后,使用Angular获取元素属性值
- 获取元素类名的部分
- 从JSON.parse获取元素
- 获取元素内部的缩写
- 在不引用文档的情况下使用AngularJS获取元素
- 如何获取元素's的title属性
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本
- Javascript获取元素背景图像,但消除了“;url()”;
- Javascript:按类获取元素,但跳过某个类
- 当display:none时,getElementById()无法获取元素
- 我的ID获取元素不起作用
- 如何获取元素:使用javascript和CORS悬停背景
- 能够获取元素长度,但不能获取内部 HTML
- 如何使用jQuery在模板kendo UI中获取元素类