웹 애플리케이션 테스트 프레임워크 라고 읽고 크롤링프레임워크이라고 씁니다.
직접 크롬이나 웹브라우저를 열고 자동화가 가능합니다.
여러 프로그래밍 언어를 지원하고 핵심은 웹 드라이버을 열어서 동적으로 컨트롤 할수있다는 점이죠 ..
!!로봇 감지를 우회할 수가 있습니다.!!
크롬 59 버전부터 headless를 지원해서 창 띄움없이 쓸수 있으나 로봇으로 감지될 경우가 많아서
virtualdisplay를 띄워서 처리하시면 되고..
마우스 클릭이나 키보드 입력을 하신다면 headless에선 못하고 실제 크롬을 뛰워서 마우스및 키보드 제어를 통해서 작업을 하실수가 있어요..
https://www.selenium.dev/
시간이 되면 리눅스환경에서 테스트 하는 강의를 올려보려고 합니다.
이거 때문에 파이썬을 배우네요..ㅎㅎ
예를들어 크롬에서 작업한다하면 윈도우에서 파이선을 실행할경우 브라우저를 실행하기때문에 실제로 작업의 대한 스탭을 직접 볼 수 있다는 장점이 있지만, 문제는 파이썬이 처리하는 속도보다 브라우저에서 로딩하는 시간이 늦어지는 부분이라던지 이런 여러가지 고려사항으로 sleep라는 함수를 굳이 써야 하는 문제가 있기 때문에 별로 추천을 하지 않는 방법입니다.
저는 보통 이러한 api요청이라던지 이런 부분이 있다면 차라리 httpRequest 같은 클라이언트를 사용하여 바로바로 요청시 값을 가져오는 데이터를 지속적으로 활용할 수 있는 방안을 사용합니다.
이러한 방식들은 윈도우이거나 브라우저를 실행이 되어야 한다던가 등등의 조건없이 프로그램내에서 알아서 실행되는 장점이 있기 때문에 굳이 필요없는 요청들을 줄일 수 있다는 장점이 잇지요.
selenium의 경우 보통 컴퓨터에서 실행시 로그인하고 Xetown출석하는 자동 출석기같은거라던지 그 외 파싱을 브라우저를 통해서 하는방식이기 때문에 저는 별로 쓰지 않습니다..ㅋㅋㅋ