3

我正在使用 Selenium RC (C#) 自动化表单页面。单击“提交”按钮后,我收到警报“ Records Edited Successfully!”。此警告框的标题是“ ”。The page at http://www.******.com says:

但是 Selenium 没有看到这个警报。我无法解决它。

这是我尝试过的:

selenium.Click("ctl00_Content_ctl00_btnSubmit");
selenium.WaitForPageToLoad("30000");

结果:我收到以下错误:“ Selenium.SeleniumException : Timed out after 30000ms

然后我尝试了:

selenium.Click("ctl00_Content_ctl00_btnSubmit");
selenium.OpenWindow("", "The page at The page at http://www.******.com says:");
selenium.Close();
selenium.WaitForPageToLoad("30000");

结果:打开了三个窗口(站点、警报和额外窗口)。什么都没有关闭。我收到以下错误:“ Selenium.SeleniumException : Timed out after 30000ms

然后我尝试了:

selenium.Click("ctl00_Content_ctl00_btnSubmit");
selenium.SelectWindow("The page at The page at http://www.******.com says:");
selenium.Close();
selenium.WaitForPageToLoad("30000");

结果:我收到以下错误:“ ”Could not find window with title 'The page at http://www.******.com says:'

有什么建议么?请帮助克服这个障碍。

4

2 回答 2

4

显然,最简单的方法是使用脚本将 alert() 函数重新定义为不弹出对话框的东西。

((JavascriptExecutor) fDriver).executeScript(
  "window.alert = function(msg) { return true; }"
); 
于 2010-11-18T01:08:52.813 回答
1

最后我找到了一个解决方法:

    selenium.Click("ctl00_Content_ctl00_btnSubmit");                        
    Thread.Sleep(5000);
    selenium.KeyDownNative("32");
    selenium.KeyUpNative("32");

祝大家一切顺利,万事如意!

于 2010-11-18T20:52:24.690 回答