2017-09-12 5 views
0

상태 새 팝업 창을 선택하려고합니다. 상태 선택 버튼을 클릭하면 대화 상자 페이지가 열리지 만 해당 페이지의 HTML은 볼 수 없습니다. 따라서 셀렌에서 해당 대화 페이지와 상호 작용하는 방법을 모릅니다.팝업 창 HTML을 셀렌과 상호 작용하는 방법을 볼 수 없습니다

NB : 새 창으로 전환했지만 거기에서 계속 진행할 수 없습니다.

HTML은 다음과 같습니다 ..

enter image description here

를 대화 페이지가 열리면 다음 상태를 선택 버튼을 클릭 한 후.

Select Status Dialog

하지만 난 대화 상자 페이지의 HTML이 어떻게 셀레늄을 형성 그것과 상호 작용을 볼 수 있습니까?

업데이트 -14/09/17

내가 선택 상태를 클릭하면 그 아래의 URL을 호출합니다. 별도의 탭에서 URL을 열고 HTML을 볼 수있었습니다. http://xxx.xxx.xxx.int/tasks/status.aspx?CurrFilters=OPEN

다음과 같은 새 창에서 값을 선택하는 시도

enter image description here

...

public void SelectStatus() 
    { 
     _SelectStatus.Click(); 
     Browser.Switch_to_child_page(); 
     _container.FindElement(By.CssSelector("input[onclick^='SelectAll']")).Click(); 
    } 

오류 다음지고.

테스트 'x.RegressionSuite.TestCases.xTest.TC_x'실패하지 : OpenQA.Selenium.StaleElementReferenceException는 : 요소는 더 이상 그것은 새 창 팝업처럼 보이는

+0

새 창안에 프레임이 있습니까? –

+0

팝업은 별도의 브라우저 인스턴스입니다. 페이지를 시작하는 HTML을 보았습니까? 어쩌면 팝업 안에있는 페이지의 URL을 가져 와서 직접 HTML을 볼 수 있습니다. – JeffC

+0

URL을 공유 할 수 있다고 생각하지 않습니까? – JeffC

답변

0

유효합니다. 새 창으로 전환 할 수 있습니다. 그런 다음 그것과 상호 작용하십시오.

// Store the current window handle 
String winHandleBefore = driver.getWindowHandle(); 

// Perform the click operation that opens new window 

// Switch to new window opened 
for(String winHandle : driver.getWindowHandles()){ 
    driver.switchTo().window(winHandle); 
} 

//select the checkbox 
driver.findElement(By.xpath("xpath for checkbox")).click(); 

//click on select button 
driver.findElement(By.xpath("xpath for submit")).click(); 

// Close the new window, if that window no more required 
driver.close(); 

// Switch back to original browser (first window) 
driver.switchTo().window(winHandleBefore); 
+0

새 창으로 이동하지만 질문은 HTML을 볼 수 없기 때문에 확인란을 선택하는 방법입니까? –

+0

새 창에서 페이지 소스 또는 개발자 도구를 사용하여 새 창에 대한 html 가져 오기를하시기 바랍니다. – Murthi

+0

페이지를 마우스 오른쪽 단추로 클릭 할 수 없으므로 어떻게 페이지 소스를 얻을 수 있는지 잘 모르겠습니다. 다른 브라우저를 사용해 보았습니다. 오른쪽 버튼을 클릭하면 두 가지 옵션 만 있습니다 ... 1. 이동 2. 닫기. –