2012-05-21 4 views

답변

5

심지어 같은 문제에 직면했습니다. 셀레늄과 함께 보낸 몇 시간 후, 자바 스크립트 알림 및 팝업 처리 솔루션을 발견했습니다.

우리는 셀렌 RC의 자바 스크립트 경고를 처리하기 위해 셀렌의 keyPressNative를 사용할 수 있습니다. 여기

key*Native() 방법을 사용할 수있는 방법입니다

selenium.keyPressNative("27"); // Escape 
    selenium.keyPressNative("10"); // Enter  
    selenium.keyDownNative("16"); // Press and do not relase the shift key, so that 
    selenium.keyPressNative("79"); // this character will be capitals 
    selenium.keyUpNative("16"); // Release the shift key, as we don't need it for the 
    selenium.keyPressNative("67"); 

그것은 바람직하지 않습니다하지만, 셀레늄 실패의 일부를 처리 나를 도왔다.

0

할 수 없습니다. As stated in Selenium documentation :

셀레늄 ( 는 Window.alert, window.confirm 및 window.prompt를 대체하여) 당신에게서 그 대화 상자를 은폐하려고 그래서 그들은 페이지의 실행을 중지하지 않습니다. 알림 팝업이 표시되는 경우 일 것입니다. 이는 페이지로드 과정에서 발생했기 때문일 수 있습니다. 페이지를 보호하기에는 너무 이른가 보통 입니다.

Selenium RC (및 따라서 Selenium IDE)의 알려진 제한 사항이며 Selenium 2 (WebDriver)가 개발 된 이유 중 하나입니다. JS 경보를 onload 잡으려면 to use WebDriveralert handling이 필요합니다.

해결 방법으로 Robot을 사용하여 텍스트를 채우고 Enter 키를 누른 다음 대화 상자를 맹목적으로 확인하십시오. 가장 깨끗한 방법은 아니지만 작동 할 수 있습니다. 그러나 alert 메시지를 가져올 수 없습니다.