인프런 커뮤니티 질문&답변

김정호 Kim님의 프로필 이미지
김정호 Kim

작성한 질문수

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

웹 브라우저 없는 스크랩핑 및 파싱 실습(1) - 인프런

마지막 예제 질문이 있습니다.

작성

·

259

0

인프런 사이트가 지금은 로그인 창이 팝업으로 뜨고 잘못된 정보를 입력해도 redirect되지 않고 그대로 유지가 되네요.

어떤 식으로 해결을 해야할까요?

답변 11

2

혹시나 싶어 올립니다

현재 로그인페이지가 팝업형식으로 바껴서

xpath로 로그인 클릭후 넣어주시면

작동됩니다

driver.get("https://www.inflearn.com/")

driver.find_element_by_xpath('//*[@id="signin"]').click()

driver.find_element_by_class_name("input.email").send_keys('아이디')

time.sleep(1)

driver.find_element_by_class_name('input.pwd').send_keys('비번')

time.sleep(1)

driver.find_element_by_xpath('//*[@id="root"]/div[4]/section/form/button').click()

0

로그인 관련 xpath 가 변경된것 같습니다. 또 변경되겠지만, 참고하세요. full xpath 입니다.

driver.find_element_by_xpath('/html/body/div[1]/header/nav/div[2]/div/div[2]/div[2]/div[2]/a[1]').click()

0

오 저도 이거 막막했는데 xpath로 들어가니까 되네요! 감사합니다 😊

0

김정호 Kim님의 프로필 이미지
김정호 Kim
질문자

감사합니다. 그럼 업데이트 기다리겠습니다.

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

 

 

response로 err 부분의 ok 의 false 부분을 사용해 보는 방법이 있겠습니다.

 

강의는 후에 변경 된 내용으로 처리해서 소스코드 올려놓겠습니다.

0

김정호 Kim님의 프로필 이미지
김정호 Kim
질문자

현재 인프런 사이트가 개편을 해서인지 강사님 코드를 아무리 변형을 해봐도 안되고요, network 탭의 정보를 확인해봐도 관련 정보를 찾을 수가 없습니다.

하나 보이는 게 'https://www.inflearn.com/api/signin' 인데 이건 api 형식이라 해당 강의의 내용으로는 안되는 것 같습니다.

 

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

잘못된 주소를 입력할 필요가 없고 레퍼러 또는 예외처리 시에 URL 경로를 말씀하신 것 같은데

 

크롬 개발자 도구에 header 또는 network 탭 정보를 통해 얻으시면 됩니다.

 

그대로 유지가 된다고 해도 틀린 암호를 입력했을경우에 NETWORK 탭의 정보를 확인해야 됩니다.

0

김정호 Kim님의 프로필 이미지
김정호 Kim
질문자

3-6-4.py 입니다.

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

해당 예제 파일 이름을 알려주세요.

0

김정호 Kim님의 프로필 이미지
김정호 Kim
질문자

강의 보면 틀린 정보를 로그인 창에 입력해서 redirect 주소를 얻잖아요?

지금 인프런 사이트에서는 redirect 주소가 나오는 게 아니고 그대로 팝업창만 유지가 되는 형태인 것 같아요.

그래서 이 부분을 어떻게 해야할지 여쭤본 거 였어요.

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요. 김정호님

잘못된 정보를 처리하는건 예제 소스에 구현을 저도 하지 않았는데요.

리턴값으로 400, 403, 404 등을 받았을 때 request 모듈을 활용해서 다른페이지로 이동해주면 

될 것같습니다.

감사합니다.

김정호 Kim님의 프로필 이미지
김정호 Kim

작성한 질문수

질문하기