【问题标题】:GetTitle() Method of WebDriver is not working for Frame Tag DocWebDriver 的 GetTitle() 方法不适用于 Frame Tag Doc
【发布时间】:2020-06-23 08:13:28
【问题描述】:

我试图在切换后获取 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 结构:

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

【问题讨论】:

    标签: selenium selenium-webdriver remotewebdriver


    【解决方案1】:

    函数getTitle()只返回顶层Title

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

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

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

    【讨论】:

      【解决方案2】:

      切换到&lt;iframe&gt;后可以通过以下方式获取标题:

      driver.switchTo().frame("myDemoFrame");
      if(driver.findElements(By.tagName("title")).size()>0) {
          String currentTitle = driver.findElement(By.tagName("title")).getAttribute("innerHTML");
          System.out.println(currentTitle);
      }
      

      【讨论】:

      • 这不会有帮助,因为我们没有。 “innerText”@franH
      猜你喜欢
      • 2012-09-10
      • 1970-01-01
      • 2013-02-20
      • 2016-04-23
      • 2022-01-18
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多