Joh*_*ohn 14 .net html javascript c# firebug
是否可以使用.NET 3.5/4.0在WinForm Web浏览器中检查HTML元素?
可能使用IHighlightRenderingServices接口或Html Agility Pack?
我希望应用程序像FireBug一样运行:
只需用鼠标悬停要检查的元素,然后单击它.在1.7之前的Firebug版本中,这会自动切换到HTML面板并在节点视图中选择适当的元素.

编辑:
哇,我刚刚遇到http://www.selectorgadget.com/,这正是我想要做的.这是在Javascript中,在查看过去2小时的源代码后,我仍然不知道如何将其合并到我的程序中...
据我所知,它使用DOM元素的标记化和递归分析来确定CSS选择器路径:http://www.selectorgadget.com/stable/lib/dom.js.
编辑: 好的!我已经将selectorgadget加载到我的应用程序中.它允许您选择与Firebug完全相同的HTML元素!甚至创建Xpath查询.

但是,我正在使用AxWebBrowser而且我仍然坚持如何使用HtmlAgilityPack ...
private void xpathQuery_Click(object sender, EventArgs e)
{
// Load Browser
HtmlWindow window = axWebBrowser1.Document.Window; // <---- 'object' does not contain a definition for 'Window'
string str = window.Document.Body.OuterHtml;
// Load HTML
HtmlAgilityPack.HtmlDocument HtmlDoc = new HtmlAgilityPack.HtmlDocument();
HtmlDoc.LoadHtml(str);
//Process Xpath Query
HtmlAgilityPack.HtmlNodeCollection Nodes = HtmlDoc.DocumentNode.SelectNodes(xpathText.Text);
//Print in Text box
foreach (HtmlAgilityPack.HtmlNode Node in Nodes)
{
richTextBox1.Text += Node.OuterHtml + "\r\n";
}
}
Run Code Online (Sandbox Code Playgroud)
编辑: 我无法让AxWebBrowser使用HtmlAgilityPack,所以我只是使用WebClient类加载URL,然后用HtmlAgilityPack解析它.
我刚刚完成了Web Scraper.它的功能类似于Visual Web Ripper和其他价值1000美元以上的其他产品.

| 归档时间: |
|
| 查看次数: |
5213 次 |
| 最近记录: |