将页面加载到 Web 浏览器控件,同时按 ID 跳过 HTML 元素
本文关键字:ID 跳过 元素 HTML 控件 加载 浏览器 Web | 更新日期: 2023-09-27 18:33:57
我正在尝试通过WebBrowser控件加载某个页面,同时避免在名为"tb"的DIV元素中加载不必要的广告横幅。
我该怎么做?我已经做了一些谷歌搜索并使用mshtml引用找到了一个示例,但我无法从此示例中使其工作:https://stackoverflow.com/a/1218875
有什么想法吗?
为什么这行不通?
using System;
using mshtml;
using System.Windows.Forms;
namespace Client
{
public partial class Client : Form
{
public Client()
{
InitializeComponent();
HTMLDocumentClass htmldoc = wbBrowser.Document.DomDocument as HTMLDocumentClass;
IHTMLDOMNode node = htmldoc.getElementById("tb") as IHTMLDOMNode;
node.parentNode.removeChild(node);
}
}
}
我收到一个错误:
'MSHTML。HTMLDocumentClass' 不包含 'getElementById' 的定义,也没有扩展方法 'getElementById' 接受 'mshtml' 类型的第一个参数。可以找到 HTMLDocumentClass'(您是否缺少 using 指令或程序集引用?
和:
互操作类型 'mshtml.HTMLDocumentClass'不能嵌入。请改用适用的接口。
您可以使用以下方法执行此操作:
IHTMLDocument3 htmldoc = wbCtrl.Document.DomDocument as IHTMLDocument3;
IHTMLDOMNode node = htmldoc.getElementById("xBar") as IHTMLDOMNode;
node.parentNode.removeChild(node);