繁体   English   中英

在Windows之间切换控制

[英]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,W​​in 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM