从WebBrowser访问DOM

Jun*_*ska 3 c# browser dom pixelsense

我正在尝试实现类似浏览器的小应用程序,这将允许我修改查看的网站外观(例如,使链接的字体更大).它专为Microsoft Surface设计,可用于巨大的触摸屏.它使用WPF作为UI.

我打算使用WebBrowser控件来完成此任务.但是,文档中有两个名为WebBrowser的类.其中一个在System.Windows.Forms,另一个在System.Windows.Controls.第一个提供对DOM模型的访问,但是适用于Forms应用程序(如果我理解正确,那绝对不是我拥有的).如果在xaml中添加控制器,则默认添加第二个,但它不提供对DOM的访问.

那么,我如何从WebBrowser for Surface访问DOM模型?我是c#和Microsoft技术的新手,所以如果我的问题不清楚或明显,我会道歉.

vol*_*ody 9

对于System.Windows.Controls.WebBrowser该类,您可以使用Document属性.添加MSHTML引用您的项目,应提供由项目右键,选择添加引用,那么你应该能够将其转换为mshtml.IHTMLDocument2

mshtml.IHTMLDocument2 htmlDoc = webBrowser.Document as mshtml.IHTMLDocument2;
// do something like find button and click
htmlDoc.all.item("testBtn").click(); 
Run Code Online (Sandbox Code Playgroud)

  • @Ahmad这个答案与Controls.WebBrowser有关,而不是Forms.WebBrowser (2认同)