2011-11-17 5 views
3

selenum-1을 사용하여 URL의 요청 매개 변수를 검색하고 싶습니다. 방법이 있습니까? API 목록 getLocation() 메서드가 절대 URL을 반환하는 것을 보았습니다.셀렌의 요청 매개 변수 받기

나는() 그것이 나 http://webserver/webapps/library/do/javabooks/author을 반환 selenium.getLocation을을 writting하고있는 경우 URL이 http://webserver/webapps/library/do/javabooks/author?author_id=42&book_id=55

경우. 그러나 요청 매개 변수에 관심이 있습니다. 또는 Selenium API를 사용하여 요청 매개 변수로 전체 URL을 얻을 수 있다면 괜찮습니다. 어떨까요?

미리 감사드립니다.

+0

webdriver를 사용하는 경우 driver.Url을 실행하면 주소창에 URL이 캡처됩니다. – CBRRacer

답변

3
내가하지만 난 자바 스크립트를 사용하는 단지 약간 다른 경향이있다 것들에 대한 ... 당신이 말한 것처럼 URL을 확인하는 것이 가능하다는 것을 않는 기능 모르겠어요

:

selenium.get_eval('window.location.href'); 

빈번히 필요하다면 라이브러리 나 함수로 포장하는 것을 고려해 볼 수도 있지만, 이것은 나에게 상당히 깨끗한 것처럼 보입니다. 반환 된 데이터를보다 잘 제어하려면 JavaScript를 조금 확장하면됩니다. 예를 들어 ? 문자로 분할하고 배열의 두 번째 항목 만 가져옵니다. 그 시점에서 아마도 &에 다시 나눠서 매개 변수를 문자열 목록으로 반환하겠습니까?

+0

감사합니다. @jro : 잘 받았습니다. 이미 Selelium API를 사용하는 직접적인 방법이 있는지 알고 싶습니다. . –

+0

@java_enthu : 내가 아는 것은 아닙니다. [API 참조] (http://release.seleniumhq.org/selenium-remote-control/1.0-beta-2/doc/python/selenium.selenium-class.html)를 다시 살펴 보았지만 찾을 수 없습니다. 기대에 정확하게 부응하는 모든 것. – jro

+1

감사합니다. 그러나 이것으로 나는 문제를 찾고 있습니다. 웹 페이지에 표시되는 URL은 http : //webserver/webapps/library/do/javabooks/author.jsp? tab_group_id = _6_1 이지만 selenium.getEval ("window.location.href")을 수행 할 때 http를 반환합니다. : // webserver/webapps/library/do/javabooks/booksManager? sourceType = BOOKS 놀랍게도 두 URL 모두 페이지의 동일한 내용을 보여줍니다. 그러나 현재 요구 사항에 따라 이전 URL을 검색하고 싶습니다. 나는 window.location, window.location.href, document.location.href 및 document.location으로 모두 동일한 URL을 반환했다. –