WebBrowser .Document方法问题

时间:2011-12-07 22:29:27

标签: c# winforms browser

我正在尝试创建一个简单的程序,该程序可以转到页面并单击按钮。但是出于某些原因,当我尝试在WebBrowser.Document上调用.GetElementByID时,没有可用的东西,只有像Equals,GetHash或者你有什么东西。没有GetElementByID。所以我试着这样做:

private void button1_Click(object sender, RoutedEventArgs e)
        {
            webBrowser1.Navigate("http://kdp.amazon.com");

            HtmlDocument doc = (HtmlDocument)webBrowser1.Document;

            doc.GetElementByID("whatever");


        }

我收到此错误:

  

无法将类型为“mshtml.HTMLDocumentClass”的COM对象强制转换为类   输入'System.Windows.Forms.HtmlDocument'。类型的实例   表示COM组件不能转换为不表示的类型   COM组件;但是只要它们可以转换为接口   底层COM组件支持对IID的QueryInterface调用   界面。

我错过了参考或其他什么?我在stackoverflow上找到的所有教程都说在webBrowser.Document上调用我没有的方法。

1 个答案:

答案 0 :(得分:1)

听起来您正在使用非托管WebBrowser ActiveX控件而不是托管包装器。

将控件更改为托管System.Windows.Forms.WebBrowser