2014-07-23 4 views
0

매우 복잡한 html 페이지가 있습니다.페이지의 모든 iframe을 가져 오는 방법

나는 그것이 다른 iframe을에 점점 iframe이 A를의 요소를 찾으려고

<html> 
<head></head> 
    <body> 
<iframe> A </iframe> 
    <table> 
    <div> 
    <span> 
     <div> <iframe> B </iframe> </div> 
     <style> 
      <div> 
      <div> 
. driver.switchTo(). frame (0)을 사용하지만 iframe을 사용하지 않고 iframe으로 전환 해 보았습니다.

findElements 메소드를 사용하여 모든 iframe을 가져 오려고하면 하나의 iframe (B) 만 반환됩니다.

답변

2

답변은 iframe 목록으로 무엇을하고 싶은지에 따라 다릅니다.

모든 목록을 원하면 재귀 함수를 사용해보십시오.

public void getAlliFrames(){ 
    List<WebElement> iframes = driver.findElements(By.tagName("iframe")); 

    if(iframe.count() > 0){ 
     driver.switchTo().frame(iframe.get(0)); 

     getAlliFrames(); 
    }else{ 
     System.out.println("No more iframes"); 
    } 
} 

추신 : 이것은 테스트되지 않은 코드이며 참조 용으로 제공됩니다.

+0

당신의 조언에 감사드립니다 ... 나는 그것을 이해하고 이제는 더 갈 수 있습니다. :) – user2037445

관련 문제