ChromeDriver는 Selenium WebDriver가 Chrome과 상호 작용하는 데 사용하는 또 다른 실행 파일입니다. Chrome 웹 브라우저에서 작업을 자동화하려면 ChromeDriver도 설치해야 합니다. Chrome 브라우저 버전에 따라 호환되는 드라이버를 선택해야 합니다. 다음은 Chrome 드라이버를 설치하고 구성하는 단계입니다.
다음 코드에서 WebDriver 인스턴스를 만들고 Chrome 드라이버의 경로를 지정했습니다. 그런 다음 드라이버 인스턴스와 함께 셀레니움을 이용해서 웹브라우저 자동화를 만들때에 예상치 못합 팝업창이 떠서 내가 생각한 자동화 로직이 깨질때가 있습니다. 이럴 때는 팝업창을 감지해서 팝업창을 닫아줘야 합니다. 요즘은 팝업창이 자주 발생하지는 않지만
새로운 팝업창 감지는
먼저 새로운 팝업을 알아내려면 이전까지의 브라우저
이렇게 하면 현재 열려있는 브라우저의 탭을 가져올 수 있습니다. tabs는 리스트이며, 현재 탭이 2개라면 2개의 핸들이 들어있게 됩니다. 이렇게 탭이 2개 일 경우 코드를 실행하면 리스트로 된 탭 값을 얻을 수 있습니다.
새로운 팝업, 탭이 오픈이 된 것은
0를 실행하여서 종료시킵니다. 그리고 나서 저장해둔 현재 핸들로 전환 후 원하는 코드를 실행 하면 됩니다. 파이썬 셀레니움(selenium) webdriver로 웹브라우저 자동화 프로그램을 만들다보면 새탭을 열고 작업을 할때가 있습니다. 유튜브 김플 스튜디오에 방문하시면 더 많은 파이썬 강의를 보실수 있습니다.
1. 검색 자동화 먼저 위의 이미지와 같은 검색 창에서 검색 할 수 있도록 프로그램을 작성한다.
이전 코드에 이어서(로그인 버튼 누르기 다음) 아래에 추가한 코드는 다음과 같다.
2. 활성 탭 전환하기 위의 코드를 이용하여 검색창에 검색어를 입력하여 검색은 가능하다. 검색 결과가 새창에 나타나므로 새로 활성화 된 창으로 화면을 변경하여야 한다. 아래의 코드를 추가함 으로써 탭 전환이 가능하다. 먼저 아래의 명령어는 탭 목록들을 보여준다. 새로운 탭을 열고 로딩을 기다린뒤 윈도우 목록을 확인해보면 리스트에 두개의 항목이 들어있는 것을 볼 수 있다.
새롭게 열린 탭으로 변경하는 코드는 아래의 코드를 추가하면 된다.
만약에 새로 옮긴 탭을 닫고 다시 원래 창으로 돌아가고 싶다면 아래의 코드를 입력하면 된다.
수정한 전체 코드는 아래와 같다.
reference
|