我有登录页面,点击登录按钮后会打开新标签页。
我使用
将控件移动到新窗口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
答案 0 :(得分:0)
在点击登录按钮后的帖子中,您使用WindowName
切换到新窗口。但是,在尝试过的解决方案中,您使用empty string
切换到新窗口。
答案 1 :(得分: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