인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

권태혁님의 프로필 이미지

작성한 질문수

내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)

11.5 selenium API 살펴보기

태그를 못찾는 오류 질문드립니다.

작성

·

31

0

subject_element[9].find_element(By.CSS_SELECTOR,"a.link_service > span.service_name").text.strip()

위 코드를 실행하면 잘 실행이 되지만

service_list = []

subject_element = WebDriverWait(driver, 10).until(

EC.presence_of_all_elements_located(

(By.CSS_SELECTOR, "ul.shortcut_list > li.shortcut_item")

)

)

for e in subject_element :

service_title = e.find_element(By.CSS_SELECTOR,"a.link_service > span.service_name").text.strip()

service_list.append(service_title)

service_list

해당 코드를 실행하면 span태그를 못 읽습니다.
a태그 안에 span태그가 있는 건 확실합니다.

답변 2

1

권태혁님의 프로필 이미지
권태혁
질문자

감사합니다
원인 찾았습니다!!

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 권태혁님.

질문 주신 사항에 대해 도움을 드리겠습니다. 주어진 코드에서 태그를 찾지 못하는 문제가 발생하고 있습니다. 이는 여러 가지 이유로 발생할 수 있습니다. 일반적인 원인과 해결 방법을 간단히 안내 드리겠습니다:

  1. 요소의 가시성: 요소가 페이지에 로드되지 않았거나, 아직 보이지 않는 위치에 있을 수 있습니다. WebDriverWait을 사용하는 것은 좋지만, 여유 시간을 충분히 설정하지 않으면 요소를 찾지 못할 수 있습니다.

  2. 잘못된 CSS 선택자: CSS 선택자가 잘못된 경우, 요소를 찾지 못할 수 있습니다. 주어진 선택자 " [a.link](http://a.link)_service > span.service_name"이 정확한지 다시 한 번 확인해 보세요.

  3. 선택자 공백 문제: 선택자는 공백 없이 이어져야 합니다. 만약 불필요한 공백 또는 잘못된 문자로 인해 선택자가 잘못 해석될 수 있습니다.

  4. 레이아웃 변화: 웹 페이지의 레이아웃이나 HTML 구조가 변경되었을 가능성도 있습니다. 이 경우, 개발자 도구를 사용하여 현재의 HTML 구조를 확인하고 선택자를 업데이트하는 것이 필요합니다.

비슷한 문제를 겪은 다른 수강생들의 질문을 통해 힌트를 얻을 수 있습니다:

해당 링크를 통해 관련된 내용을 확인하시면 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.