你能在 awesomium webcontrol 中找到 HTML 元素来做进一步的处理吗?
例如,我可以使用以下方法在 Watin 中找到必要的元素(甚至元素集合):
Link playButton = myie.ElementOfType<Link>(Find.ById("myid")); // find link (<a>)
Div test = myie.Div(Find.ById("audio")); // find div (<div>)
找到后 - 您可以提取该元素的多个属性
string classname = playButton.ClassName; // alternatively -> inner text, link, id, class and all bucket of other properties
我如何在 awesomium 中执行此操作?它有内置的 DOM 解析器来操作网站控件吗? (div、链接、表格等。)
到目前为止我只能找到 javascript 执行命令但这不是我要找的..
另外,我想知道如何将网页的 HTML 保存为字符串(在 awesomium 中)?
string mysite = webControl1.SiteHTML.ToString(); // something like this
// instead of
string mysite = webControl1.ExecuteJavascriptWithResult("document.documentElement.outerHTML").ToString();
编辑:解释
看来 awesomium 本身不支持 HTML 元素解析,所以我的备份计划如下:
- 在awesomium中打开网页
- 抓取 HTML 到字符串(当前使用:ExecuteJavascriptWithResult())
- 将字符串解析为 HTML(当前使用:“HTML Agility pack”)
- 做我需要做的(查找元素、集合等)
- 根据前面步骤的结果在awesomium中执行JS命令
如果 awesomium 有 DOM 支持,所有这一切都会更容易......但是......好吧......
请您参考如下方法:
JS 技巧怎么样?
public string GetHTML(WebControl control)
{
return control.ExecuteJavascriptWithResult("document.getElementsByTagName('html')[0].outerHTML");
}
干杯!
