0

我有登录页面,当单击登录按钮时,它会打开新标签。

我将控件移动到新窗口使用,

driver.switchTo().window("_blank");

当我单击一个Button时,它将打开新的弹出窗口(该弹出窗口不是普通窗口,它是 iframe)。

我选择了一个弹出窗口,使用

driver.switchTo().frame("frameName");

该弹出窗口有记录列表;每条记录都有单独的“选择”选项(带有动态变化的 ID)。

driver.findElement(By.xpath("//a[@id='radgrdPeople_ctl00_ctl04_lnkSelect']")).click();

从列表中选择记录时,弹出窗口将关闭并刷新页面。

现在我想将控件返回到我的父窗口来做一些其他的事情。

成功选择了记录。但我无法再次聚焦父窗口。

我努力了:

driver.switchTo().defaultcontent();
driver.switchTo().window("_blank");

driver.getWindowHandles()

我仍然遇到同样的问题。

我不知道是否必须使用任何 java 脚本执行程序来处理动态变化的元素 ID。

有人能帮我解决这个问题吗......

提前致谢。

通过 K.Ranjithkumar

4

2 回答 2

0

在单击登录按钮后的帖子中,您用于WindowName切换到新窗口。但是,在尝试过的解决方案中,您曾经empty string切换到新窗口。

于 2013-01-22T13:58:00.753 回答
0

您应该将第一个窗口设为父窗口

String parent=driver.getwindowhandle;
// then, set String popup to be equal to window handle of the 
// popup window
driver.switchTo().window( popup);
driver.findElement(By.id("okbutton")).click(); //assumes close of popup

现在在弹出窗口上执行任务后,将控制权返回给父窗口:

driver.switchTo().window( parent );// switch back to parent window
driver.switchTo().defaultcontent(); // reset iframe context
于 2013-04-06T09:51:41.690 回答