[python] selenium 클릭 문제

selenium을 이용하던 중, 버튼을 클릭하는 곳에서 문제가 발생하였다.

분명 input이고 type은 button 인데 클릭을 하려고 하면 오류가 발생해서 고민과 검색을 통해서 아래와 같이 해결하였다. 처음 코드는 아래와 같았다.

driver.find_element_by_xpath("//input[@type='button']").click()

해당 코드를 사용해본 결과 정상 동작하지 않는 것을 확인, 구글 검색을 통해 Enter 키를 전송하면 클릭이 된다는 이야기가 있어서 아래와 같이 수정하여 적용해보았다.

driver.find_element_by_xpath("//input[@type='button']").send_key(Keys.ENTER)

하지만 위의 코드 역시 적용되지 않았기에 고민을 거듭하다가 html 코드를 자세히 보니 해당 버튼을 클릭하면 javascript를 호출하도록 되어 있었다.

<input type="button" value="button" onclick="some_java_script(some_value);">

그래서 그냥 selenium 자체에서 해당 스크립트를 실행하는 방법으로 변경하여 접근하였다.

driver.execute("some_java_script(some_value);")

해당 코드를 실행해 본 결과 정상적으로 동작하는 것을 확인하였다.