안녕하세요. 비스카이비전입니다. 불과 며칠 전까지 실행했었던 셀레니움 크롤링 코드를 오늘 새로운 환경에서 실행해보니 다음과 같은 에러 메시지가 나왔습니다.
AttributeError: 'WebDriver' object has no attribute 'find_element_by_css_selector'
WebDriver 객체는 find_element_by_css_selector라는 속성이 없다는 것입니다. 최근 버전의 selenium에서는 더 이상 find_element_by_css_selector라는 놈을 쓸 수 없다는 것입니다. 참고로 지금 제가 사용한 selenium의 버전은 4.3.0입니다.
find_element_by_css_selector의 시대는 갔다
이제는 find_element_by_css_selector 대신 find_element 메소드를 사용해야 합니다. 대략적인 사용법은 다음과 같습니다.
from selenium.webdriver.common.by import By
driver.find_element(By.CSS_SELECTOR, 'CSS 셀렉터')
변화에 잘 적응하자
파이썬 라이브러리는 계속해서 발전되어 갑니다. 셀레니움 라이브러리를 만들고 유지보수하고 있는 개발자들이 기존 find_element_by_css_selector에 부족함을 느꼈기 때문에 개선을 한 것입니다. 우리는 이런 경우 당황하지 말고, 기존의 코드를 잘 수정하면 됩니다. 그렇지 않으면 우리의 코드, 우리의 프로그램은 곧 생명을 잃고 말 것입니다.
관련 글
'Dev > python' 카테고리의 다른 글
[PySide6] QLabel 수평 가운데에 배치하기 (0) | 2022.07.23 |
---|---|
[pandas] 결측치를 다른 값으로 채워 넣는 방법, fillna 메소드 (0) | 2022.07.23 |
[PySide6] QLineEdit 위젯에 placeholder 넣는 방법 (0) | 2022.07.22 |
[pandas] NaN 값이 있는 행 또는 열 삭제하는 방법, dropna 메소드 (0) | 2022.07.22 |
[python] SQLAlchemy, MySQL 연결 에러 해결 방법(pool_recycle 수정?) (0) | 2022.07.20 |
[pandas] 데이터프레임 컬럼 내 고유값의 개수 구하기, value_counts() 메소드 (0) | 2022.07.19 |
[pandas] 각 컬럼 데이터 중 NaN이 아닌 데이터의 개수를 보여주는 info() 메소드 (0) | 2022.07.18 |
[PySide6] config.ini 설정값 읽고 변경하는 방법 (0) | 2022.07.07 |