我正在尝试创建一个简单的程序,该程序可以转到页面并单击按钮。但是出于某些原因,当我尝试在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上调用我没有的方法。
答案 0 :(得分:1)
听起来您正在使用非托管WebBrowser ActiveX控件而不是托管包装器。
将控件更改为托管System.Windows.Forms.WebBrowser
。