首页 > 解决方案 > WebDriver 的 GetTitle() 方法不适用于 Frame Tag Doc

问题描述

我试图在切换后获取 Frame,但它仍然返回 Main WebPage 的标题。分享Frame的代码和DOM细节:

    WebDriver driver  = new ChromeDriver();

    driver.get("http://www.dwuser.com/education/content/the-magical-iframe-tag-an-introduction/");

    List<WebElement> IframaList=driver.findElements(By.tagName("iframe"));

    System.out.println("total number of frame is "+IframaList.size());

    for(WebElement e : IframaList){
        System.out.println( e.getAttribute("name"));
    }

    driver.switchTo().frame("myDemoFrame");

    

    System.out.println(driver.getTitle());

DOM结构:

带有 Title 标记的 Dom 详细信息

注意:我检查了 gettitle() 的 RemoteWebdriver 实现,它说它返回页面的标题。它是否仅表示网页的标题?

标签: seleniumselenium-webdriverremotewebdriver

解决方案


函数 getTitle() 只返回顶层 Title

有关详细信息,请参阅下面的文档。

该命令返回当前顶级浏览上下文的文档标题,相当于调用document.title。

https://www.w3.org/TR/webdriver1/#get-title


推荐阅读