Selenium 자동화 코드 작성 중 자주 사용하는 코드가 있는데 바로 텍스트 입력된 내용 삭제하는 코드입니다.
텍스트를 입력한 다음 삭제하거나 기존에 입력된 텍스트를 다른 텍스트로 바꾸기 위해 삭제하기도 하는데요.
이 때 사용할 수 있는 코드들을 정리하였습니다.
1. send_keys(Keys.CONTROL, 'a', Keys.BACKSPACE)
키보드 키 중 Ctrl + A 으로 전체 선택 후 BackSpace 키보드 키로 지우는 방법입니다.
컴퓨터 사용시 가장 자주 사용하는 단축키를 참고하여 사용하기 때문에 어렵지 않게 이해할 수 있습니다.
Mac 사용자의 경우에는 CONTROL 대신 COMMAND를 사용하시면 됩니다.
테스트를 반복 수행시 간헐적으로 동작하지 않는 단점이 있습니다.
Windows
driver.find_element(...).send_keys(Keys.CONTROL, 'a', Keys.BACKSPACE)
Mac
driver.find_element(...).send_keys(Keys.COMMAND, 'a', Keys.BACKSPACE)
2. send_keys(Keys.LEFT_SHIFT, Keys.HOME)
1번 방법과 유사하지만 키보드 키를 다른걸 사용하여 지우는 방법입니다.
Shift 키와 HOME 키를 사용하면 입력된 텍스트 전체 선택이 가능하기 때문에 1번과 동일한 결과를 얻을 수 있습니다.
만약 바로 새로운 텍스트를 입력하는 경우에는 BACKSPACE 키보드 키는 추가하지 않아도 됩니다.
(전체 선택 후 텍스트 입력 시도시 선택한 텍스트가 사라지기 때문)
driver.find_element(...).send_keys(Keys.LEFT_SHIFT, Keys.HOME, Keys.BACKSPACE)
3. clear
가끔씩 키보드 키 동작이 안되는 경우도 있는데요. 원인은 확실하지 않지만 하루 종일 테스트 코드 실행하다보면 1~2번 정도 fail이 발생하는걸로 확인하였습니다.
그럴 때 사용하는 코드가 clear 코드입니다.
실제로 가장 간단하게 사용할 수 있으며 fail이 상대적으로 덜 발생합니다.
(clear가 fail이 더 발생하시는 분들도 있는데 저는 안그렇더라구요.. ㅎㅎ)
driver.find_element(...).clear()
텍스트를 지우는 여러 방법을 소개하였는데 작성하신 코드별 fail이 가장 발생하지 않는 코드로 사용하여 완성도 높은 테스트 자동화 코드를 작성하시길 바랍니다.
'자동화 > Selenium' 카테고리의 다른 글
지역 맛집 리스트 자동화로 추출해서 확인하기 (with 카카오맵) (2) | 2024.02.03 |
---|---|
AWS 인스턴스 환경 세팅 절차 Selenium 자동화로 구현하기 (0) | 2024.02.02 |
Selenium으로 밴드웹 자동 로그인 해보기 (0) | 2024.02.02 |
Selenium 대기 방식 실행 시간 비교해보기 (Wait, Sleep) (0) | 2024.02.01 |
지역 아파트 순위 자동화로 추출하여 엑셀에 저장하기 (With Python) (0) | 2023.03.23 |