플그래밍/파이써언

[파이썬 에러] AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'

훗티v 2022. 11. 10. 16:53
728x90

0. 에러

AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'
이번 Selenium 4.0 업데이트로 인해 발생하는 에러입니다.

 

🔗 Selenium 4.0 Beta 1 changelog

 

1. 업데이트 및 모듈 추가

from selenium.webdriver.common.by import By
위 모듈을 추가해줍니다.

 

2. 코드 변경

find_element_by_xpath('') find_element(By.XPATH, '')
find_element_by_xpath("")를 find_element(By.XPATH, "")형태로 변경해줍니다.
다른 속성을 통한 find_element도 위와 같은 방법으로 변경해줍니다. 

[예제]
find_elements_by_css_selector('tr') >>> find_elements(By.CSS_SELECTOR, 'tr')

 

3. 참고

# 한 개의 element
find_element(By.ID, "id")
find_element(By.NAME, "name")
find_element(By.XPATH, "xpath")
find_element(By.LINK_TEXT, "link text")
find_element(By.PARTIAL_LINK_TEXT, "partial link text")
find_element(By.TAG_NAME, "tag name")
find_element(By.CLASS_NAME, "class name")
find_element(By.CSS_SELECTOR, "css selector")

# 모든 element
find_elements(By.ID, "id")
find_elements(By.NAME, "name")
find_elements(By.XPATH, "xpath")
find_elements(By.LINK_TEXT, "link text")
find_elements(By.PARTIAL_LINK_TEXT, "partial link text")
find_elements(By.TAG_NAME, "tag name")
find_elements(By.CLASS_NAME, "class name")
find_elements(By.CSS_SELECTOR, "css selector")