こんにちは私はc#を使用してボタンをクリックしようとしていますが、キャストエラーが発生し続けます
Unable to cast COM object of type 'mshtml.HTMLInputElementClass' to class type 'mshtml.HTMLButtonElementClass'
。COMコンポーネントを表す型のインスタンスは、COMコンポーネントを表す異なる型にキャストすることはできません。ただし、基盤となるCOMコンポーネントがインターフェイスのIIDに対するQueryInterface呼び出しをサポートしている限り、インターフェイスにキャストできます。
私は何が間違っているのですか?コードは次のとおりです。
namespace IEAutomation {
/// <summary>
/// Summary description for IEDriverTest.
/// </summary>
///
using mshtml;
using System.Threading;
using SHDocVw;
public class IEDriverTest {
public IEDriverTest() {
}
public void TestGoogle() {
object o = null;
SHDocVw.InternetExplorer ie = new
SHDocVw.InternetExplorerClass();
IWebBrowserApp wb = (IWebBrowserApp)ie;
wb.Visible = true;
//Do anything else with the window here that you wish
wb.Navigate("https://adwords.google.co.uk/um/Logout", ref o, ref o, ref o, ref o);
while (wb.Busy) { Thread.Sleep(100); }
HTMLDocument document = ((HTMLDocument)wb.Document);
IHTMLElement element = document.getElementById("Email");
HTMLInputElementClass email = (HTMLInputElementClass)element;
email.value = "testtestingtton@gmail.com";
email = null;
element = document.getElementById("Passwd");
HTMLInputElementClass pass = (HTMLInputElementClass)element;
pass.value = "pass";
pass = null;
element = document.getElementById("signIn");
HTMLButtonElementClass subm = (HTMLButtonElementClass)element;//ERROR HERE
subm.click();
}
}
}