我正在使用Microsoft Visual Studio 2013 Ultimate,目前正在使用Coded UI测试项目。当它用于控制台应用程序时,我收到错误"未处理的类型' System.Threading.ThreadStateException'发生在System.Windows.Forms.dll"当执行下面的第一行代码时,但是在使用我的编码UI测试项目时我没有得到它。
我的代码的最终目的是启动Web浏览器。单击某些链接,然后从浏览器中读取某些ID字段中的信息。如果有人知道这样做的更好或更简单的工作实现,我就是全力以赴。
在我目前的实施中,Internet Explorer从未启动过。
WebBrowser web = new WebBrowser(); //create object web browser
web.CreateControl();
web.Visible = true;
web.ScriptErrorsSuppressed = true;
web.Navigate("www.gogle.com"); //Shouldn't this launch IE & go to google.com?
HtmlDocument doc = web.Document;
HtmlElement el = doc.GetElementById("hplogo");//get htmlelement on the google logo
//do something with info from el.
web.Dispose(); //de-allocate
答案 0 :(得分:0)
从MS KB841295,您可以将STAThread()
属性添加到程序的主入口点,这应解决该特定异常。
[STAThread()]
static void Main(string[] args) {
WebBrowser web = new WebBrowser(); //create object web browser
//...
}