我正在构建一个应用程序,它将在WebBrowser控件中打开一个网站,然后在字段中放置一些文本,然后单击几个按钮一个接一个地提交。使用C#和WebBrowser进行网站自动化
看一看代码波纹管......
var doc = webBrowser1.Document.GetElementById("ddlOnBoro"); doc.SetAttribute("SelectedIndex", "3"); var temp = doc.InvokeMember("change"); doc = doc.Document.GetElementById("iddOnstreet_txTextBox"); doc.SetAttribute("value", "ASTOR PLACE"); var adoc = doc.Document.GetElementById("Button6"); var getCrossStreets = adoc.DomElement as mshtml.HTMLInputButtonElement; adoc.RaiseEvent("onclick");
第一次和最后3行的工作很好,即使是中等2个工作正常,但是当我在代码的最后一行的RaiseEvent(“点击”)时,在提交之前,文本框的值会变成空白,即使我已将其设置在第5行代码中。
该网站内置于ASP.NET,我认为这是ViewState搞乱了。
任何想法?
你为什么写这样的应用程序? – 2010-08-16 12:01:23
你有没有考虑过像Watir这样的东西? (http://watir.com/) – Graham 2010-08-16 12:13:17