2013-09-02 2 views
-1

웹 드라이버에서 한 웹 페이지에서 다른 웹 페이지로 전환하는 것이 가능합니다. 예를 들어 웹 페이지에 두 개의 프레임이 있습니다 프레임 1과 프레임 2) 내가 코드은 동일한 웹 페이지에서 한 프레임에서 다른 프레임으로 전환하는 것이 가능합니다.

driver.switchto().frame(id); 

를 사용하여 프레임 1로 전환하고 난 프레임 2 내가 다시 전환해야 할에 작업을 수행하려는 경우 내가

다시 프레임 1 내부 작업을 수행합니다 예 :

driver.switchto().defaultcontent(); 

다음 내가

를 프레임 2로 이동해야합니까 또는 당신은 프레임 2가 아닌 프레임 2로 전환하기 전에 defaultContent로 복귀해야합니다 내가 직접 프레임 1

+1

? frame2에서 frame1로 직접 전환 할 때 오류가 발생합니까? –

+3

혼자서 조사해보세요! 그것이 작동하는지 확인하십시오! 그래서 도움이되는 사람들 –

답변

4

에서 프레임 2로 전환 할 수 있습니다 프레임 -1 내에 위치한다.

driver.switchTo().frame("1"); 
//doSomething in frame 1 
driver.switchTo().defaultContent(); 
driver.switchTo().frame("2"); 
//doSomething in frame 2 

을하지만 DOM이 보이는 경우 :

<iframe id="1"></iframe> 
<iframe id="2"></iframe> 

위는 필요

<iframe id="1"> 
    <iframe id="2"></iframe> 
</iframe> 

그런 다음 다음을 사용 : 왜 당신이 요구하는

driver.switchTo().frame("1"); 
driver.switchTo().frame("2"); 
//doSomething in frame 2 
driver.switchTo().defaultContent(); 
+0

왜이 줄'driver.switchTo(). defaultContent();'가 필요합니까 (* 호기심 *에서 물어 보았습니까)? 그러나 좋은 예제를 만들기위한 * + 1 * : –

+1

프레임으로 전환하면 Webdriver는 iframe에만 초점을 맞추기 때문에 더 이상 을 '볼'수 없습니다. iframe 외부의 모든 항목에 액세스하려면 '기본'페이지 (iframe 외부의 모든 항목)로 다시 전환해야합니다. 희망이 도움이됩니다. –

+0

대단히 도움이됩니다. 이메일 ID를받을 수 있다면 ... 좀 더 도움을 요청할 수 있습니다! 그러나 당신은 허용 할 것입니까? :) –

관련 문제