2012-04-03 48 views
0

以下是我已经写好的代码来关闭页面加载时显示的“Ok/No”按钮的代码。您正在查看的网页正尝试关闭该窗口。是否要关闭此窗口?“正在显示。我能够检索警报文本,但无法在I.E.8中单击Ok或No按钮时关闭警报,只有在IE中显示上述消息。 在访问网站“http:\ 172.16.220.24/proof”时,首先会显示证明 - 嗅探器页面,在通过警报关闭此页面时,证明 - 登录页面将显示。Selenium WebDriver 2.20 - IE 8.0 - SeleniumTests.Test.TheTest:System.InvalidOperationException:找不到取消按钮

上执行代码的exeception: SeleniumTests.Test.TheTest信息:System.InvalidOperationException:正在显示找不到取消按钮

driver.Navigate().GoToUrl("http://172.16.220.24/proof/sniffer.aspx"); 
Thread.Sleep(1000); 
IAlert alert=driver.SwitchTo().Alert(); 
Console.writeline(alert.text); 
alert.Dismiss();      
Thread.Sleep(1000); 

@硒,@ C#

+0

只对Thread.Sleep(1000)发表评论。你可以设置“driver.Manage()。Timeouts()。ImplicitlyWait(TimeSpan.FromSeconds(5));”这应该允许你删除那些Thread.Sleep(1000);分散在整个测试中。 – 2012-04-10 15:29:29

回答

0

这应该是固定在当前资源中,并将在2.21发布以供全面提供。您可以等待通用版本,也可以自己从源代码构建产品。在this change之前,IE驱动程序只会在对话项ID为IDCANCEL(或2)的情况下在警报窗口中查找取消按钮。这是最近更改,以便司机会寻找按钮IDCANCELIDNO(或7)。

+0

TQ为您的回应。但是,您能否教育我从源头上构建产品,并尝试一下。 – 2012-04-05 11:27:57

+0

Selenium项目的构建过程记录在[项目wiki](http://code.google.com/p/selenium/wiki/BuildingWebDriver)中。请注意,要构建IE驱动程序本机代码组件,您需要Visual Studio 2010 Professional或更高版本。快速版的Visual C++将不起作用。 – JimEvans 2012-04-05 15:21:48

+0

虽然我在框架3.5中使用Visual Studio Professional 10,但源代码的构建没有解决,mozilla-config.h文件丢失以及.Netframework中存在冲突。因此,我认为2.21版是一般的版本。谢谢 – 2012-04-12 06:48:40