【问题标题】:Why am I unable to navigate into a new window with the Selenium Webdriver?为什么我无法使用 Selenium Webdriver 导航到新窗口?
【发布时间】:2016-05-06 07:00:11
【问题描述】:

我无法导航到新窗口,因为它为父子窗口显示相同的窗口。我使用此代码。有什么问题?

String parent_Window = driver.getWindowHandle();
Set<String> handles =  driver.getWindowHandles();
 for(String window_Handle  : handles){
    if(!window_Handle.equals(parent_Window)){
        driver.switchTo().window(window_Handle);
        //<!--Perform operation here for new window--> 

     driver.switchTo().window(parent_Window);
        }
    }

【问题讨论】:

  • 句柄的大小是 2 意味着它收集了两个窗口句柄?

标签: java selenium selenium-webdriver automation window-handles


【解决方案1】:

您可能在打开新窗口之前尝试切换。如果是这种情况,请先获取主窗口句柄,然后尝试打开新窗口并切换到新窗口(或选项卡)。

我希望它会有所帮助。

【讨论】:

    【解决方案2】:

    使用下面的代码:

    // Store the current window handle
    String winHandleBefore = driver.getWindowHandle();
    
     // Switch to new window opened
    for(String winHandle : driver.getWindowHandles()){
    driver.switchTo().window(winHandle);
     }
    
    // Perform the actions on new window
    
    // Close the new window, if that window no more required
    driver.close();
    
     // Switch back to original browser (first window)
    driver.switchTo().window(winHandleBefore);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 2021-03-31
      • 1970-01-01
      • 2019-02-10
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多