WebDriver 的 GetTitle() 方法不适用于 Frame Tag Doc
GetTitle() Method of WebDriver is not working for Frame Tag Doc
我试图在切换后获取框架,但它仍然返回主网页的标题。共享代码和 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 实现,它说它 returns 页面的标题。是否仅表示网页的标题?
函数 getTitle() 仅 returns 顶级标题
有关详细信息,请参阅下面的文档。
This command returns the document title of the current top-level browsing context, equivalent to calling document.title.
切换到<iframe>
后,您可以通过以下方法获取标题:
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);
}
我试图在切换后获取框架,但它仍然返回主网页的标题。共享代码和 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 实现,它说它 returns 页面的标题。是否仅表示网页的标题?
函数 getTitle() 仅 returns 顶级标题
有关详细信息,请参阅下面的文档。
This command returns the document title of the current top-level browsing context, equivalent to calling document.title.
切换到<iframe>
后,您可以通过以下方法获取标题:
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);
}