2013-04-11 12 views
-3

다음 시나리오에 대한 솔루션을 원합니다 : xml을 업로드하는 페이지에서 업로드 버튼을 클릭하는 동안 확인을 위해 팝업을 수신하려고합니다. 이걸 감지하면),이 후에 다시 나는 내가 발견 할 수없는 팝업을 받는다. (페이지는 여전히 브라우저에로드되고있다.) 이 문제를 해결할 수 있도록 도와주세요.셀렌을 perl로 사용하여 팝업 처리하기

나는 이것을 위해 많은 해결책을 시도했다 : 창 ids, 제목 얻기.

덕분에

+0

어떤 종류의 팝업이 자바 스크립트 또는 새 브라우저 창입니까? 또한 시도한 정확한 코드를 알려주십시오. 오류 메시지가 있습니까? – Amey

+0

그것은 자바 스크립트이고 새 브라우저 창은 아닙니다. amey .... 지금 당장은 코드를 가지고 있지 않지만 내일 업로드를 시도 할 것입니다 ..... 오류 메시지 : 코드가 첫 번째 팝업을 감지하고 두 번째 팝업을 감지합니다. 팝업 서버, 아니 팝업 팝업 .... –

+0

또한 셀레늄 RC를 셀레늄 webdriver, 오른쪽에 비해 사용하고 있다고 가정합니다? – Amey

답변

1

당신은 당신이 사용할 수있는 -

$sel->get_confirmation() 

이것은 이전 작업 duringthe 생성 된 자바 스크립트 확인 대화 상자의 메시지를 검색합니다. 기본적으로 confirm 함수는 true를 반환하고 동일한 효과를 수동으로 확인을 클릭합니다. 이것은 chooseCancelOnNextConfirmation 명령을 사전 실행하여 변경할 수 있습니다. 확인이 생성되었지만 확인/확인하지 않으면 다음 Selenium 조치가 실패합니다.

참고 : Selenium에서는 자바 스크립트 확인이 표시되지 않습니다.

참고 : Selenium은 페이지의 onload() 이벤트 처리기에서 생성 된 JavaScript 확인을 지원하지 않습니다. 이 경우 visibledialog가 생성되고 Selenium은 수동으로 클릭해야만 멈출 것입니다.

가장 최근의 JavaScript 확인 ​​대화 상자의 메시지를 반환합니다.

perl 및 RC로 작업하는 동안 항상 WWW::Selenium - Perl Client을 참조해야합니다.

+0

안녕하세요. 감사합니다 ......하지만 위의 모든 것을 시도했지만 두 번째 메모는 내가 모르는 뭔가입니다 ...... 그리고 나는 www 셀레늄 perl을 참조 ........... 다시 감사드립니다 .... –

+0

나는 문제가 무엇인지 발견했습니다. @ amey. 나는 실제로 허용되지 않는 파일을 업로드하려고합니다. 파이어 폭스와 관련된 보안 문제.실제로이 문제가 발생했습니다. http://cakebaker.42dh.com/2006/03/29/file-upload-with-selenium/ 파이어 폭스가 지원을 제거한 이후로 최신 Selenium RC와 호환되지 않습니다. enablePrivilege https://support.mozilla.org/en-US/questions/944433에 대한. WEBDRIVER로 전환하는 것이 의무입니다 ............. http://git.erp5.org/gitweb/erp5.git/commitdiff/06898bbfae4f238b7e79ce05048646529216064e 감사합니다. .... –

0

나는 ... 나는 실제로 파이어 폭스 몇 가지 보안 문제로 인해 허용되지되지 않은 파일을 업로드 트링하고 문제 @amey가 무엇인지 발견 ...이 http://cakebaker.42dh.com/2006/03/29/file-upload-with-selenium/ 에 대한 작업 주변에 실제로 있었다 ..... 파이어 폭스가 enablePrivilege에 대한 지원을 제거한 이후로 파이어 폭스와 함께 최신 Selenium RC와는 작동하지 않을 것입니다 https://support.mozilla.org/en-US/questions/944433. 그래서 WEBDRIVER로 전환하는 것이 의무입니다 ............. http://git.erp5.org/gitweb/erp5.git/commitdiff/06898bbfae4f238b7e79ce05048646529216064e 지원해 주셔서 감사합니다 ....

0

내 솔루션은 다음 기능을 사용하고 있습니다.

$driver->execute_script("Events.invokeEvent('UserDetailPage:UserDetailScreen:UserDetailToolbarButtonSet:UserDetailToolbarButtons_DeleteUserButton_act', true);");

수락 버튼을 눌렀을 때 javascript 코드가 수행하는 내용을 분석합니다. 함수에서 해당 코드를 실행합니다.

관련 문제