작성
·
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 인턴입니다. 권태혁님.
질문 주신 사항에 대해 도움을 드리겠습니다. 주어진 코드에서 태그를 찾지 못하는 문제가 발생하고 있습니다. 이는 여러 가지 이유로 발생할 수 있습니다. 일반적인 원인과 해결 방법을 간단히 안내 드리겠습니다:
요소의 가시성: 요소가 페이지에 로드되지 않았거나, 아직 보이지 않는 위치에 있을 수 있습니다. WebDriverWait
을 사용하는 것은 좋지만, 여유 시간을 충분히 설정하지 않으면 요소를 찾지 못할 수 있습니다.
잘못된 CSS 선택자: CSS 선택자가 잘못된 경우, 요소를 찾지 못할 수 있습니다. 주어진 선택자 " [a.link](http://a.link)_service > span.service_name"
이 정확한지 다시 한 번 확인해 보세요.
선택자 공백 문제: 선택자는 공백 없이 이어져야 합니다. 만약 불필요한 공백 또는 잘못된 문자로 인해 선택자가 잘못 해석될 수 있습니다.
레이아웃 변화: 웹 페이지의 레이아웃이나 HTML 구조가 변경되었을 가능성도 있습니다. 이 경우, 개발자 도구를 사용하여 현재의 HTML 구조를 확인하고 선택자를 업데이트하는 것이 필요합니다.
비슷한 문제를 겪은 다른 수강생들의 질문을 통해 힌트를 얻을 수 있습니다:
해당 링크를 통해 관련된 내용을 확인하시면 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.