2014-09-23 24 views
0

在C#中,我正在使用InternetExplorer.Application(一個進程外COM服務器)編寫一些自動化代碼。document.parentWindow「指定的類型無效」

我有一個「dynamic browser」變量抱着這種自動化對象的引用和我能夠訪問

dynamic body = browser.document.body;

browser.document.getElementById("someInput").value = "test"; 

,但我完全無法訪問window對象,無論是通過

browser.document.parentWindowbrowser.document.defaultView

例如:

browser.document.parentWindow.execScript("alert('hello')"); 

dynamic window = browser.document.parentWindow; 

當我嘗試訪問像上面窗口對象(或默認視圖),我總是得到的異常信息「Error:指定的轉換有效。」爲什麼是這樣?

在SA上還有一個類似於此的問題,但接受的答案與我認爲使用WebBrowser控件的inproc服務器的線程問題有關,並且我使用out或process服務器,所以我不相信任何線程問題適用於我的問題。

趙彤詳細信息:Windows 7 64位時,Internet Explorer 11,.NET 4.0的控制檯應用程序

+0

您是否檢查過,「瀏覽器」實際上是哪個對象? – Teemu 2014-09-23 06:46:24

回答

0

的解決方案是,以紀念我的課是用[STAThread]屬性在主入口點單線程公寓。我曾認爲,因爲它是一個進程外的COM服務器,所以不會有任何同步問題。

相關問題