반응형
"기존 문법은 호환되지 않습니다.."
저는 이제 막 코딩을 시작한 초보지만,
셀레니움을 통해 크롤링을 하다가 업그레이드를 했더니 메서드가 변경된 것을 알고..!!
공부를 하고자 글을 써봅니다.
AttributeError: 'WebDriver' object has no attribute 'find_element_by_name'
AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'
AttributeError: 'WebDriver' object has no attribute 'find_element_by_tag_name'
제가 맞닥드린 오류는 위와 같습니다.
우선...
버전3와 버전4의 차이점을 위주로 서술해보겠습니다.
1. 설치는 그대로 하면 됨
shell 에서 ...
pip install selenium
pip install selenium --upgrade
위 2개 하면 버전4 바로 깔립니다.
대신 함수 정의? 할 때...
from selenium.webdriver.common.by import By
일부만 임포트해서 쓰시는 분들은 이런 식으로 by 정의를 해줘야 한다고 하네요..
2. 뭐가 달라졌는지?
기존 (버전 3)
driver.find_element_by_class_name('className')
driver.find_element_by_css_selector('.className')
driver.find_element_by_id('elementId')
driver.find_element_by_link_text('linkText')
driver.find_element_by_name('elementName')
driver.find_element_by_partial_link_text('partialText')
driver.find_element_by_tag_name('elementTagName')
driver.find_element_by_xpath('xPath')
변경 (버전 4)
driver.find_element(By.CLASS_NAME, 'className')
driver.find_element(By.CSS_SELECTOR, '.className')
driver.find_element(By.ID, 'elementId')
driver.find_element(By.LINK_TEXT, 'linkText')
driver.find_element(By.NAME, 'elementName')
driver.find_element(By.PARTIAL_LINK_TEXT, 'partialText')
driver.find_element(By.TAG_NAME, 'elementTagName')
driver.find_element(By.XPATH, 'xPath')
그럼 20,000..
반응형
'조아하는거 > PC' 카테고리의 다른 글
WebP 확장자와 변환방법에 대해 알아보자 (0) | 2023.02.17 |
---|---|
파워포인트 저장 시 글꼴 오류 해결하기 (feat. 더블바이트 어쩌구..) (0) | 2023.02.08 |
윈도우10 속도 올리는 꿀팁 (애니메이션 끄기) (0) | 2023.02.06 |
HDMI 케이블 규격에 대해 알아보자 (버전과 사이즈를 기준으로) (0) | 2022.12.28 |
시스템 리소스가 부족할 때 해결방법을 알아보자 (0) | 2022.11.21 |
댓글