python/웹크롤링

Selenium 에서 class, id 특정 element의 click 이 안될때

달죽 2022. 8. 31. 21:51
반응형
driver.find_elements('class',"btn_box_ss btn_tank radius_10").click()

셀레니움에서 find_element를 한뒤에 클릭이 안될때

저 class에 해당하는 요소를 클릭하려고 했는데 도저히 안됬었다. 

 

DeprecationWarning: executable_path has been deprecated, please pass in a Service object
  driver = webdriver.Chrome('/Users/kitty/chromedriver')

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: invalid locator
  (Session info: chrome=105.0.5195.52)

 

자꾸 이런에러가 뜨면서 클릭을 못했는데, 이럴때는 그냥 크롬 개발자 모드에 들어가서 Xpath로 클릭을 하는게 빨랐다.

 

Selenium

driver.find_element('xpath','//*[@id="fmSrch"]/table/tbody[3]/tr[2]/td/button[3]').click()

 

또! 옛날 코드를 쓰다보니 아래의 에러가 뜨는 경우가 있는데, 아래와 같이 수정을 해주면 좋다. 

 

AttributeError: 'WebDriver' object has no attribute 'find_element_class'

셀레니움이 버전업이 되면서 생긴 문제다. find_element_class 이렇게 쓰던것을 find_element('class','해당 태그') 이런식으로 바꿔주면 된다. 

driver.find_element('class','client_id').click()

 

반응형