无法使用selenium RC选择IE8弹出窗口

时间:2012-07-09 13:22:39

标签: selenium internet-explorer-8 popup selenium-rc

我正在尝试使用Selenium RC将命令发送到IE8中的弹出窗口。

目前,我可以点击按钮并打开弹出窗口。

但是,我无法选择发送命令的窗口。

我已就此主题进行了大约一周的研究,我认为这严格来说是一个IE问题。我找到了一些解决方法;一些博客指示用户打开一个空白窗口来“捕获”命令。

然而,当我实现下面的代码时,会弹出一个空白窗口,点击打开弹出窗口的按钮后,会打开一个THIRD窗口并加载我需要的页面。

我是否设定目标不准确?请参阅下面的selenium rc命令以及页面的html源代码。

Java代码

selenium.runScript("selenium.browserbot.document.getElementByID(
              'ctl00_ContentPlaceHolder1_WebGroupBox1_btnAddRequirement').target='popup'"
);

selenium.openWindow("", "popup");

///Click on Add Requirement button
selenium.click("id=ctl00_ContentPlaceHolder1_WebGroupBox1_btnAddRequirement");

try { 
  Thread.sleep(2000);
} catch (InterruptedException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
selenium.selectWindow("popup");

HTML for Add Requirement按钮

<input id="ctl00_ContentPlaceHolder1_WebGroupBox1_btnAddRequirement" 
       type="submit" 
       style="font-family:Arial,Times New Roman,Courier New;" 
       onclick="return validateProject();
                 WebForm_DoPostBackWithOptions(new  
                  WebForm_PostBackOptions(
                             "ctl00$ContentPlaceHolder1$WebGroupBox1$btnAddRequirement", 
                             "", 
                             true, 
                             "", 
                             "", 
                             false, 
                             false
                  )
                 )
                " 
       value="Add New Requirement" 
       name="ctl00$ContentPlaceHolder1$WebGroupBox1$btnAddRequirement"
>

1 个答案:

答案 0 :(得分:0)

在WatiN(我知道的不同)中,我必须发送一个alt + tab组合并输入以处理弹出框。