자바 + selenium-- 열려있는 여러 개의 창 및 창 전환 - 방법 A

또한 윈도우 ID, 영어 단어의 더 나은 이해로 알려진 때로는 브라우저 창 핸들, 핸들이 무엇인지 설명 할 수 처음에는.

 

당신은 당신이 탭이 사라집니다 닫을 때까지 그것은 ID, ID를 생성, 사용자가 탭을 열고, 브라우저를 엽니 다.

브라우저에서 하나 개의 탭보다 더 많은 열 경우이 왜 가까운 하나 개의 탭 당신을 더 윈도우 ID, 그러나 다른 탭의 표시에 영향을주지 않습니다, 이것은 ID의 역할이다.

 

이 문서에서는 핸들 브라우저 양식을 얻거나 여러 형태 사이의 예를 준비하기 위해 스위치 뒷면에 드라이버의 번호로 전화하는 방법을 설명하는 것입니다.

의 만 만 창을 처리 할 때, 탭을 열고 핸들을 인쇄 브라우저에서 살펴 보자.
================================================== ================================================== ======

 

이 같은 결과를 인쇄 : CDwindow-e3655cc7-5cc1-42cc-a3d0-0d6339d1cfab


ID는 당신이 그렇게, 당신은 인쇄를 인쇄 내가 확실히 다른 변화 시작할 때마다입니다.

 

다음으로,이 탭에서 보면, 사용 getWindowsHandles () 메소드를 처리하기 위해 두 개의 창을 인쇄합니다.

================================================== ================================================== ==========================

패키지 rjcs을; 

수입 java.text.SimpleDateFormat에;
수입 하는 java.util.Calendar;
수입 은 java.util.List;
수입 java.util.Set을; 

수입 org.openqa.selenium.interactions.Actions;
수입 org.apache.commons.io.FileUtils;
수입 org.openqa.selenium.TakesScreenshot;
수입 org.openqa.selenium.firefox.FirefoxDriver;
수입 org.openqa.selenium.interactions.Actions;
수입 org.openqa.selenium.By;
수입 org.openqa.selenium.Keys;
수입 org.openqa.selenium.WebElement;
수입 org.testng.annotations.Test;
가져 org.openqa.selenium *. ; 

수입 java.awt.Rectangle의;
수입 java.awt.Robot;
수입 java.awt.Toolkit의;
수입 java.awt.image.BufferedImage;
수입 java.io.File에;
수입 때 java.io.IOException; 

수입 javax.imageio.ImageIO; 

수입 org.openqa.selenium.OutputType; 

수입 com.thoughtworks.selenium.SeleneseTestNgHelper; 

공용  클래스 ckqh 
{ 
    
    공공  정적  무효 메인 (문자열 []에 args) 
    
    { 
         System.setProperty를 ("webdriver.firefox.bin", "C : \\ 프로그램 파일합니다 (86) \\ \\ firefox.exe 모질라 파이어 폭스");     // 설치 경로 파이어 폭스를 설정 찾을 수없는 시스템을 방지 
            
         FirefoxDriver 드라이버 = 새로운 새로운 FirefoxDriver () ;         //은 파이어 폭스 브라우저 인스턴스를 초기화하고, 브라우저를 열 
         
        은 try 
        { 
             driver.manage () 창 () 최대화를 (); ..          @ 최대화 된 창 
             
             에 Thread.sleep ( 3000 )         
             
             . driver.manage () 창 () ) (.maximize;          // 창 최대화 
             
             에 Thread.sleep ( 3000 ) 
        
             driver.get ( "https://www.baidu.com을");                     //웹 사이트, 방법 열기              
        
             에 Thread.sleep ( 3000 );                   
                          
              driver.findElementByPartialLinkText ( "홈페이지" ) .click ()을, 

             (Thread.sleep를 3000 )   
             
             
             
             에서 System.out.println (driver.getWindowHandle ());     // 이 브라우저 현재 핸들 탭 인쇄 
             
             문자열 = ; driver.getWindowHandle () 
             
             에 Thread.sleep ( 3000 ); 
             
             에서 System.out.println (driver.getWindowHandles ());     // 모든 브라우저 탭을 인쇄 핸들
                                                                // 목록을 인쇄
             (3000 Thread.sleep를 ) 
             
             설정 <문자열> currenWindow driver.getWindowHandles = ();          // 얻을 모든 핸들 
             에서 System.out.println (currenWindow.size ());               // 의 인쇄 핸들 (즉, 윈도우)의 수 

             스레드. SLEEP ( 3000 )             
             
             . driver.switchTo () 창 (A);     // 스위치 핸들 
             
             에 Thread.sleep ( 3000 ); 
             
        } 캐치 (예외 E) 
        { 
            e.printStackTrace (); 
        } 최종적으로  
        { 
            driver.quit (); 
         
         }
   } 

}

 

 

결과 :

5f9d93e2-496b-4402 -A938-7968c83920db {}
[{5f9d93e2-496b-4402-A938-7968c83920db}, {8beddbeb-0ce9-414c-8b83-2f8188da6bde}]
2

추천

출처www.cnblogs.com/xiaobaibailongma/p/12216060.html