문제 개요 :
이전에 작성해두었던 selenium 코드를 다시 튜닝하던 중 생겼던 문제입니다.( 해당 크롤러는 구글 이미지에서 검색어를 검색하고 해당 검색어로 된 폴더를 실행 위치에 생성해주고 순서대로 번호가 붙어서 저장되는 코드 )
함수 find_element_by_name()가 없어서 생긴 문제이며 selenium 버전이 바뀌면서 함수 이름과 구조가 변경되어서 발생한 문제 입니다.
에러 내용 :
해결 방법 :
- 문제가 발생할 수 있는 모습
elem = driver.find_element_by_name("q")
- 해결 한 방법
selenium 버전이 올라가면서 함수의 이름과 사용방법이 변경되었습니다. 해당 내용에 맞춰서 변경하여 주면 됩니다.
elem = driver.find_element(By.NAME, "q")
위와 같은 내용을 밑의 표에 대입하여 다른 레거시 함수도 변경하면 되겠습니다.
element(단일) , elements(복수) 설명
By.ID | 태그의 id값으로 추출 |
By.NAME | 태그의 name값으로 추출 |
By.XPATH | 태그의 경로로 추출 |
By.LINK_TEXT | 링크 텍스트값으로 추출 |
By.PARTIAL_LINK_TEXT | 링크 텍스트의 자식 텍스트 값을 추출 |
By.TAG_NAME | 태그 이름으로 추출 |
By.CLASS_NAME | 태그의 클래스명으로 추출 |
By.CSS_SELECTOR | css선택자로 추출 |
'DevLog' 카테고리의 다른 글
[Troubleshooting] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129) 에러 해결 (0) | 2022.10.16 |
---|---|
[Troubleshooting] selenium imgUrl (0) | 2022.10.15 |
[Troubleshooting] selenium : DeprecationWarning: executable_path has been deprecated (0) | 2022.10.15 |
[프로그래머스] SQL 중성화 여부 파악하기 (0) | 2022.10.01 |
[프로그래머스] SQL NULL 처리하기 (0) | 2022.10.01 |