[英]Switching control between windows
我是selenium的新手。我正在尝试在三个窗口之间切换控件,即从窗口A到窗口B,然后从窗口B到窗口C。对于上述过程,我使用相同的代码,并且该代码是:
`for(String winHandle : idriver.getWindowHandles()){
idriver.switchTo().window(winHandle);
}`
问题是,使用此代码,控件从窗口A切换到窗口B,但是当我使用相同的代码将控件从窗口B切换到窗口C时,代码仍保留在同一窗口B上。我尝试了以下操作:
for(String winHandle : idriver.getWindowHandles()){ idriver.switchTo().window(winHandle); System.out.println( idriver.switchTo().window(winHandle)); }
控制台打印:
InternetExplorerDriver: internet explorer on WINDOWS (5e2b3ada-0ee7-4540-9d94-d6f74e72b6bd) InternetExplorerDriver: internet explorer on WINDOWS (5e2b3ada-0ee7-4540-9d94-d6f74e72b6bd) InternetExplorerDriver: internet explorer on WINDOWS (5e2b3ada-0ee7-4540-9d94-d6f74e72b6bd)
当窗口从A切换到B,然后从B切换到C时,两次都打印了上面相同的内容。
我正在使用Java,selenium,Win 8,IE 10。
您能否发布完整的代码...。
我认为您已经从B找到元素来切换C窗口
之后,您可以一个个地关闭..ie,首先关闭C窗口和B窗口..然后返回父窗口
String handle=driver.getWindowHandle();//get handle of parent window
Set<String> handles = driver.getWindowHandles();//get all window handles
for(String han:handles)
{
if(!han.equals(handle)
{driver.switchTo().window(han);}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.