2012-04-24 2 views
0

SeleniumServer으로 특정 PopUp/new Window을 Java에서 처리하려고 시도했지만 작동하지 않습니다. 내가 완료했습니다 :PopUpWindow를 Selenium으로 처리하는 법

selenium.click("css=a[title=\"Some irrelevant title\"] > div.text"); 
Thread.sleep(5000); 
    for (String s : selenium.getAllWindowNames()) { 
    if (s.contains("_blank")) { 
    selenium.selectWindow("name=" + s); 
    selenium.windowMaximize(); 

    } 
} 

그러나 새 창을 인식하지 못합니다. getAllWindowIDs 또는 이름이나 제목을 사용하면 기본 창이 하나만 반환됩니다.

selenium.waitForPopUp("foobar", "9999")을 사용하면 시간 초과 이후에 오류가 발생하므로 그 이유는 보통 Thread.sleep()입니다.

그 밖의 무엇을 할 수 있습니까?

+1

그냥 블라인드 샷 : selenium.selectPopup'무엇에 대해()'모든 속성을 지정하지 않고? 그것은 마술처럼 나를 한 번 도왔습니다. –

+0

아니 .. 어쨌든 고마워. – Matthias

답변

0

이 도움이 될 수 있습니다

selenium.RunScript("selenium.browserbot.findElement('css=a[title='Some irrelevant title']').target='my_window'"); 
selenium.RunScript("window.open('', 'my_window')"); 
selenium.click("css=a[title='Some irrelevant title']"); 
selenium.selectWindow("my_window"); 
selenium.waitForElementPresent("element_locator_at_popup") 
+0

도움을 주셔서 감사합니다. 그러나 작동하지 않습니다. 새 빈 창이 열리고 링크가 클릭되지만 ID가없는 세 번째 창에서 팝업이 열립니다. 클릭 된 링크는 다음과 같습니다. Matthias

+0

@Matthias 대신에'css = a [title = 무관 한 제목]> div.text' insert'css = a [title = 죄송하지만 부적절]. 내 초기 답변을 편집했습니다. –

+0

직접 링크를 사용하지 않고 직접 수정하여 최종 변경 사항을 테스트하지 않았습니다. 하지만 어쨌든 도와 줘서 고마워! :) – Matthias

0

처음에는 수동으로, 팝업 후 버튼을 클릭하십시오. 팝업 창에 셀렌 IDE를 사용하여 무언가를 기록한 후 .. 창 ID r 제목을 얻은 다음 "waitforpopup"명령에서 "id"를 사용하십시오.

+0

새 창에서 isTextPresent와 같은 몇 가지 작업을 기록했으나 셀렌이 새 창을 인식하지 못하고 이전 창에서 텍스트를 찾으려고합니다. 새 창에 ID, 이름 또는 제목이 없거나 서버용으로 존재하지 않습니다. – Matthias

+0

첫 번째 확인은 반드시 팝업 또는 경고입니다. 경고는 jus 확인 날씨를 의미합니다. 자바 스크립트 알림 r 브라우저 확인 상자 ? – Manigandan

+0

PopUp, 새 브라우저 창이며 경고 또는 확인 상자가 아닙니다. – Matthias

관련 문제