0

제 Python 프로젝트에서 로그인 프로세스는 HttpBasicAuth 핸들러에 의해 처리됩니다. 응답을 얻은 후에는 셀레늄을 통해 기본 페이지를로드해야합니다.HttpAuthentication을 Selenium webdriver로 전달하는 방법

어떻게해야하나요?

그것은 저울을 가지고 있습니다. 기본 URL이 python-selenium에 의해로드되면, 팝업 상자는 인증을위한 사용자 이름과 암호를 묻습니다. 그런 다음 메인 페이지로 들어갑니다.

  • 1 단계 : 여기

    두 단계는 로그인 (HttpBasicAuth 핸들러를 사용하여)

나는 HttpBasicAuth 핸들러를 사용하고 그 이유는 내 URL을 열 때 팝업을 여는 것입니다 로그인을위한 창. Selenium에서 처리 할 수있는 팝업 모달 대화 상자 컨트롤을 알지 못했기 때문에 HttpAuthentication으로 전환했습니다.

(이것은 내가위한 제안을 필요로하는 부분입니다.)

  • 2 단계 : 셀레늄 과정의 나머지 단계, 응답을 받고 후.

이 중간 부분에서는 Selenium이 테스트의 다른 단계를 계속할 수 있도록 인증하기 위해 HttpBasicAuth 핸들러의 응답을 사용합니다.

셀렌으로 사이트를 인증하려면 어떻게해야합니까? 로그인 상자를 건너 뛰기 위해 HttpBasicAuthentication Response를 사용하여 Selenium webdriver 용 쿠키를 만들어야합니까?

+0

가능한 [이 질문] (http://stackoverflow.com/questions/5672407/basic-authentication-in-selenium-2-set-up-for-firefoxdriver-chromedriver-and)의 중복. 답변을 보려면 [Selenium FAQ] (http://wiki.openqa.org/display/SEL/Selenium+Core+FAQ#SeleniumCoreFAQ-HowdoIuseSeleniumtologintHTreqThis 기본 인증 %%28 여기를 클릭하십시오.)를 참조하십시오. – shamp00

답변

5

이것은 HTTP 응답에 헤더를 추가하면 쉽게 해결할 수있는 문제입니다. 유감스럽게도 Selenium2는이 기능을 지원하지 않습니다.

당신은 URL에 사용자 이름과 암호를 embeddeing하여이처럼 사용하여 시도해 볼 수도 있습니다 :이 (보안상의 문제에 대한) IE 작동하지 않습니다

browser = webdriver.Firefox() # Get local session of firefox 
browser.get("http://myusername:[email protected]") # Load page 

주,하지만 당신은 그것을 수정하여 작업 할 수 있습니다 레지스트리 조금.

귀하의 의견대로, 나는 귀하의 질문을 이해하지 못합니다. 지정한대로 첫 번째 요청을하면 브라우저는 암호와 사용자 이름을 연결하고 base64로 인코딩 한 특수 Authorization: 헤더를 자동으로 저장합니다. 다른 모든 요청은 사용자가 브라우저를 닫을 때까지 인증됩니다.

이 방법은 Selenium 1 또는 Selenium 2와는 거의 관계가 없지만 특정 브라우저가 지원하는 것입니다. IE는 이것을 제한하는 유일한 브라우저입니다.

+0

이 방법은 selenium1 및 selenium2에서 지원됩니까? 또한 헤더에서 로그인 자격 증명의 세부 사항을 추가해야합니까? 제게 간단히 알려주세요. – Nava

+0

내 편집 –

+0

을 참조하십시오. 대단히 빠른 답변을드립니다. 괜찮습니다. – Nava

관련 문제