2011-09-19 3 views
0

셀렌 스크립트에서 링크를 클릭하면 (원본 또는 검색을 통해 검색 결과가 반환되도록 생성 된 내용) 링크를 클릭하면 리디렉션하는 사이트 또는 pdf의 다운로드 바로 가기입니다. 이 링크를 클릭하면 pdf가 새 창에 나타납니다. 불행히도 SeleniumRC는 "wait_for_pop_up"을 사용하더라도 새 창을 감지 할 수 없습니다 (중요하다면 Python btw를 사용하고 있습니다).Selenium은 링크를 클릭 한 후 새 창을 감지하지 않습니다.

WebDriver가 새 창을 감지 할 수 있으므로이 문제를 해결하기 위해 SeleniumRC와 WebDriver의 조합을 사용하고 있지만 참기 힘든 (WebDriver는 조합이 아니라 WebDriver) 버그가 있습니다. 나는 모든 것을 위해 SeleniumRC를 사용하고 싶다.

이 창을 검색하려면 어떻게 SeleniumRC를 사용할 수 있습니까?

편집 : 내가 문제를 명확하게하겠습니다. 내가 창 ID (파이썬에서 window_handles)를 가져 오면, 원하는 창은 SeleniumRC가 존재하지 않는 것처럼 보이지 않습니다. WebDriver가 그것을 찾을 수 있고 ID를 부여 할 수 있기 때문에이 문제가 무엇인지 알 수 없습니다.

한 번 더 자세히 : pdf가있는 새 창에 다른 (미러) 도메인 이름이 있습니다. 문제가 될 수 있습니까?

답변

1

셀레늄 here에서 여러 개의 창을 사용하는 방법에 대해서는 good tutorial이 있습니다. waitForPopup 대신 수동으로 설정된 시간 (예 : 2 초) 동안 수동 대기를 도입 한 다음 selectWindow를 사용하여 새 창을 선택할 수도 있습니다.

+0

나는 내 질문을 명확히했다. 큰 문제는 새 창 ID를 찾을 수 없다는 것입니다. 그것은 단지 sel.window_handles 명령 (java selenium.getWindowIDs() 또는 그와 비슷한 것)과 함께 나타나지 않습니다. –

+0

수동 대기를 한 후에도? –

+0

그래, 상관없이 작동하지 않습니다. 나는 이전에 간과 했었던 몇몇 자바 스크립트 내부에서 관심있는 URL을 추출 할 수 있었다. –

0

셀렌을 다시 사용하여 창이 열리면 새 창을 제어 할 수 있습니다. 새 창이 열리면 클릭 한 다음 새 창 URL을 수동으로 가져온 다음 selenium.open ("새 창 URL")을 사용하십시오. 그 페이지에서 나머지 작업을 진행하십시오.

관련 문제