繁体   English   中英

单击按钮后,WebDriver切换到浏览器已打开

[英]WebDriver switch to browser opened after click on button

我将Selenium Webdriver与JAVA结合使用,试图使一项功能自动化,在该功能中,我必须打开一个新选项卡以在那里进行一些操作,然后返回到上一个选项卡(父亲)。

他失去了会议和错误。

//当我单击此处时,它将打开模式

driver.findElement(By.name("btnSimulateDK")).click();

我尝试过这种方法,如果在此页面上输入登录名和密码错误,则该错误可能已经在当前会话中打开并显示我可以执行的活动。

String winHandleBefore = driver.getWindowHandle();
            driver.findElement(By.name("btnSimulateDK")).click();

                        for(String winHandle : driver.getWindowHandles()){
                           if (!winHandle.equals(winHandleBefore))      
                    driver.switchTo().window(winHandle);

                      if(driver.getTitle().equals("Title of target window")){
                            //perform operation on target window
                           }
                      }
                        driver.switchTo().window(winHandleBefore);


     }

Java硒

driver.getWindowHandles()不保证任何顺序,并且还包括当前window(父亲)。

因此,不只是切换到窗口

您需要检查winHandle不等于winHandleBefore

如果是这样,则仅执行switchTo()

另外,最好确保您进入正确的页面。

喜欢

  for(String winHandle : driver.getWindowHandles()){
       if (!winHandle.equals(winHandleBefore))      
          driver.switchTo().window(winHandle);

       if(driver.getTitle().equals("Title of target window")){
        //perform operation on target window
       }
  }

当打开其他会话时,IEDRIVER会出现问题,只需在任务管理器中将其关闭即可解决问题。

单击打开带有window.open()的窗口的链接时,会话cookie丢失

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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