2017-11-16 3 views
-1

어떻게 윈도우 내가이 양식 (https://equallevel.com/punchout/cxml-punchout-tester#advanced을)에있는 모든 정보를 제출하는 경우는 새로운 window.In 새 창을 여는 새로운 창창 새 창 URL로 처리

에 2 창에서 URL을 붙여 셀레늄 처리하지 그것을 일부 사용자 상호 작용을해야하는 다른 사이트로 리디렉션합니다. 여기에서 마지막으로 리디렉션 된 사이트에 Iframe이 있습니다. 여기에서 해당 URL을 가져 와서 다른 탭에 넣어서 사용자 작업을 수행하고 싶습니다. getWindowHandles()의 URL (두 번째 창에서) 새 창으로

+0

당신은 당신의 코드 시련을 공유 할 수 있습니까? – DebanjanB

답변

0

URL을 String 변수로 반환합니다.

public void switchWindow(String name){ 
     String URL = null; 
     wait.waitForWindowToBeActiveAndSwitchToIt(2); 
    System.out.println(driver.getWindowHandles().size()); 

      for (String current : driver.getWindowHandles()) { 
       if(driver.getTitle().equals(name)){ 
       System.out.println("Switched to window titled =>" +driver.getTitle()); 
       URL = driver.getCurrentUrl(); 
       break; 
       } 

       System.out.println("Switching to window handle:"+ current + "\n title: "+ driver.getTitle()); 
       driver.switchTo().window(current); 
       } 
    } 

새 탭에서이 URL을 열려면 다음을 수행하십시오

driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t");   
string newTabInstance = driver.WindowHandles[driver.WindowHandles.Count-1].ToString(); 
driver.SwitchTo().Window(newTabInstance); 
driver.Navigate().To(URL);