• 목록
  • 아래로
  • 위로

안녕하세요~

독학으로 파이썬 셀레니움을 사용 하여 웹 페이지 크롤링 중에 막히는 부분이 있어 도움 요청 드립니다 ㅠㅠ


쇼핑몰 페이지 크롤링 시도 중인데요.. 


특정 브랜드가 있는 경우 검색 결과가 브랜드 영역/상품 리스트 영역 으로 나누어져 보여지고, 그렇지 않은 경우 상품 리스트 영역으로만 보여지는데,


Html 소스 확인 시 브랜드/상품 리스트의 경우 각각 link_brand / list_Wrap class에 포함되어 있고, 상품 리스트만 있는 경우 list_Wrap class만 보여지고


있는데, 이 것을 사용한 조건문을 짜고 있는데 생각 처럼 되지 않고 있네요 ㅠㅠ 


제가 짜고 싶은 조건문은 검색 결과에 link_brand class가 있는 경우와 link_brand class가 없는 경우로 조건을 주고 싶은데 브랜드가 없는 검색 결과의 


경우 link_brand class가 없어서 오류가 나네요 ㅠ 어떻게 해야 할지 조언 부탁 드립니다. ㅠ



s_url = driver.current_url -> 검색 결과 url

s_brand = driver.find_element_by_class_name('link_brand') -> 브랜드 class name

s_contents = driver.find_element_by_class_name('list_Wrap') -> 상품 리스트 class name


if s_brand in s_url:

    print('브랜드 있음')

else:
    
    print('브랜드 없음')



브랜드 class를 찾을 수 없을때 조건문의 else가 수행되도록 할 수는 없을까요?ㅠㅠ

작성자
위돈톡애니모 2 Lv. (13%) 750/1000EXP

안녕하세요. 잘 부탁 드립니다~

댓글 4

이니스프리
profile image
+1
s_url = driver.current_url

try:
    s_brand = driver.find_element_by_class_name('link_brand')
    print('브랜드 있음')
except:
    print('브랜드 없음')

s_contents = driver.find_element_by_class_name('list_Wrap')



안녕하세요?


질문의 의도를 제가 정확하게 파악했는지는 모르겠지만


link_brand 클래스를 지닌 태그가 없는 경우에 올려주신 스크립트의 2번째 줄에서 에러가 발생하여 


스크립트 자체가 중단되는 것을 해결하고자 하는 취지로 생각되네요 ^^


위와 같이 try ~ except문으로 해결하는 방법은 어떨까요??


그럼 맛저 드세요~!

comment menu
2020.02.25. 17:36

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 → 이니스프리
profile image
+1

그리고 제 기억이 맞다면 find_element's'를 사용하면 해당 요소가 없으면 에러를 띄우는 대신에 빈 리스트를 리턴할거에요 ^^

 

try~except문 대신에 if문을 사용하시려면 이렇게 하시면 될 것 같네요 :)

 

+) 아래 문서를 참고하세요~!

 

https://stackoverflow.com/questions/45695874/check-if-element-exists-python-selenium

comment menu
2020.02.25. 17:38

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

위돈톡애니모 작성자 → 이니스프리

좋은 답변 감사합니다~^^!! 덕분에 아침부터 속이 뻥 뚫렸네요~ㅎㅎ

comment menu
2020.02.26. 09:17

신고

"위돈톡애니모님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 → 위돈톡애니모
profile image

잘 해결되셨다니 다행이네요 ^^

크롤링 공부는 끝이 없는 것 같아요~

화이팅입니다!!

comment menu
2020.02.27. 14:34

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 707
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4381
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4475
925 계속 사용중이던 네트워크 공유 폴더가 갑자기 액세스 불가라고 뜹니다. 6 image 장윤서 18.06.07.16:55 34342
924 팀뷰어 대체할 원격 제어 프로그램 추천 부탁드립니다 16 이니스프리 17.11.30.15:38 32326
923 엑셀 그래프의 축 간격 조절 문제입니다. 2 image 국내산라이츄 17.08.10.11:06 12495
922 아이폰/아이패드 충전기 발열 관련 질문 드립니다 9 image 이니스프리 19.05.02.22:52 11111
921 에러 523 해결법 4 입체그림 20.02.21.16:48 6705
920 PyQt 실행시 프리징 현상 관련하여 질문 드립니다! ㅠㅠ 3 이니스프리 19.07.06.03:37 6704
919 프린터가 지 맘대로 프린트를 하네요. 3 곰도리푸 18.04.04.18:20 6056
918 윈도우용 메일 클라이언트가 필요합니다. 9 네모 18.01.11.20:15 5867
917 크롬에서 특정 사이트 접속 문제 관련하여 질문 드립니다 9 이니스프리 17.03.27.18:03 5325
916 오라클 클라우드 프리티어 가입이 안 되네요 ㅠㅠ 20 이니스프리 20.06.26.21:31 4843
915 파이썬 에디터로 어떤 것이 좋나요? 14 NoYeah 20.01.08.21:08 4534
914 라떼판다와 라즈베리 파이 중 어느 쪽을 사는 게 나을까요? 9 제르엘 18.10.14.19:25 3835
913 나무 위키의 수익구조는 무엇일까요? 2 NoYeah 18.03.18.15:56 3835
912 파티션 복구 프로그램 TestDisk 잘 아시는 분 계시나요? 29 이니스프리 17.11.10.14:53 3748
911 IE11에서 이미지가 깨지는 현상을 해결할 수 있을까요? 2 이니스프리 19.08.02.00:01 3705
910 파일질라로 연결하니까 보안되지 않은 서버입니다. TLS를 통한 FTP를 지원하지 않습니다. 이렇게떠요 해결방안좀 1 마카오 16.09.11.00:57 3657
909 자바스크립트 FormData와 관련된 메서드의 IE 호환성과 관련하여 질문 드립니다 ^^ 6 image 이니스프리 19.08.05.14:22 3433
908 선택약정 안 되는 중고폰의 경우에는 어떤 단점이 있는 것인가요?? 6 이니스프리 20.01.21.14:30 3103
907 [Requests] multipart/form-data의 전송에 대해 질문 드립니다 ^^ 4 이니스프리 19.12.18.22:00 2985
906 집에서 시놀로지 NAS로 워드프레스나 미디어위키 돌리면 느릴까요? 10 이니스프리 17.01.16.20:56 2982