1

使用 selenium web-driver 我试图将区域名称放在文本框中在新的弹出屏幕中,然后单击保存按钮。我为此使用以下脚本

String mainWindowHandle1=driver.getWindowHandle();

driver.switchTo().window(mainWindowHandle1 );

driver.findElement(By.id("MainContent_imgAddRegion")).click();
Thread.sleep(5000);

java.util.Set<String> s1 = driver.getWindowHandles();

Iterator<String> ite1 = s1.iterator();
while(ite1.hasNext())
{
    String popupHandle=ite1.next().toString();
    if(!popupHandle.contains(mainWindowHandle1))
    {
        driver.switchTo().window(popupHandle).findElement(By.id("txtRegionName")).sendKeys("South Region");
        Thread.sleep(3000);
        driver.findElement(By.id("txtRegionName")).sendKeys("South Region");
        Thread.sleep(1000);
        driver.findElement(By.id("btnSave")).click(); 

通过这样做,我可以打开新的弹出屏幕来输入区域,但是我无法发送密钥 [区域名称] 并保存文本。即使我在运行测试时也没有收到任何失败的报告。

4

1 回答 1

0

这可能是由于 iFrame 的存在。查看 HTML 代码并检查您尝试将密钥发送到的文本字段和保存按钮是否包含在某种 iFrame 中。如果是这样,您将需要执行以下操作:

driver.switchTo().defaultContent();
driver.switchTo().frame("framename");
driver.findElement(By.id("txtRegionName")).sendKeys("South Region");
driver.findElement(By.id("btnSave")).click();

希望能帮助到你!

于 2013-07-05T10:12:20.313 回答