当我们使用switchTowindow时,Selenium getPageSource()如何工作?

时间:2016-12-22 11:43:01

标签: selenium selenium-chromedriver

如果我将驱动程序切换到其他窗口我返回了什么driver.getPageSource()方法返回我返回第一页的页面源,即我已启动的第一个网页如何获取当前切换窗口的页面源..没有重新启动页面.... ??

我编写了这样的代码我成功切换到了新窗口..但无法获取当前窗口的页面源...

public boolean switchToWindow(String title) 
{
    Set<String> availableWindows = webDr.getWindowHandles();        
    if (availableWindows.size() > 1) 
    {
        try 
        {
            for (String windowId : availableWindows) 
            {                   
                if(webDr.switchTo().window(windowId).getTitle().equals(title))
            {
              return true;
            }
        }
        } catch (Exception e) {
            logger.handleError("No child window is available to switch ", e);
        }
    }

    return false;
 }

1 个答案:

答案 0 :(得分:0)

driver.getPageSource()应返回当前活动窗口源。从您的代码中,您可以在切换到窗口后调用driver.getPageSource()。

public boolean switchToWindow(String title) 
{

    Set<String> availableWindows = webDr.getWindowHandles();        
    if (availableWindows.size() > 1) 
    {
        try 
        {
            for (String windowId : availableWindows) 
            {                   
                if(webDr.switchTo().window(windowId).getTitle().equals(title))
            {
              System.out.println(driver.getPageSource()); 
              return true;
            }
        }
        } catch (Exception e) {
            logger.handleError("No child window is available to switch ", e);
        }
    }

    return false;
 }