작성
·
850
·
수정됨
1
div#metadata-line > span
위 그림에서 처럼 이것은 인식 합니다만
위 그림에서와 같이 div#metadata-line > span::nth-child(1) 은 인식 하지 못하는 것 같습니다.
info.find_elements(By.CSS_SELECTOR, "div#metadata-line span")[0]
selenium에서는 이렇게 해서 해결했습니다만...
views = info.select("div#metadata-line > span")[1].text
views = info.select("div#metadata-line span")[1].text
BeautifulSoup에서는 위 코드도 오류가 발생합니다.
답변 3
1
views = info.select_one("div#metadata-line > span:nth-of-type(1)").text
date = info.select_one("div#metadata-line > span:nth-of-type(2)").text
감사합니다. ^^
해보니 잘됩니다.
1
div#metadata-line > span:nth-child(1) 대신에
div#metadata-line > span:nth-of-type(1)을 이용해 보세요
nth-child : 모든 자식의 순서에서 찾음
nth-of-type: 해당하는 자식 태그 요소에서의 순서를 찾음
0
# 조회수
views_date = info.select_one("div#metadata-line").text.split("•")[1].strip().replace("조회수 ", "")
views = "조회수 " + views_date.split("회")[0] + "회"
# 날짜
date = views_date.split("회")[1]
이렇게 해서 해결했습니다.
nth-of-type이 직관적이어서 저는 요걸 자주 씁니다.
n 번째 있는 요소를 선택하고 싶을 때 아주 유용하죠
완강까지 화이팅입니다!