selenium 5

[도서 입력 프로그램] 3-4. Selenium 캘린더 제어

[도서 정보 자동 입력 프로그램] 3-4. Selenium 캘린더 제어 오랜만의 포스팅이다. 1~2일에 하나씩은 꾸준히 올리고 싶은데 잘 되지 않는다. 요즘엔 머신러닝/딥러닝 쪽에 꽂혀서 틈날때마다 공부중이기도 하고, 하다보니 프론트엔드 쪽에도 관심이 생겨서 자바스크립트와 Node.js를 배워볼까 생각중이다. 아무튼 시간이 잘 나지 않는다.그래도 모든 내용을 다 정리하기까지 열심히 달려보겠다. 이번에 연구해볼 주제는 웹페이지에서 날짜를 선택할때 나오는 캘린더를 제어하는 법이다.Yes24로 도서 정보를 등록할때 기존 등록 DB에 없는 도서를 등록하려면 발행일자를 입력해야한다.이 발행일자를 단순히 타이핑하는 형태가 아니라 캘린더에서 연도/월/일을 선택하는 구조라서 고려해야할 부분들이 많다. 발행일자 선택은 ..

[도서 입력 프로그램] 3-3. Selenium 드롭다운 제어

[도서 정보 자동 입력 프로그램] 3-3. Selenium 드롭다운 제어 XPATH를 정확히 찾아내어 이제 입력을 잘할 수 있으니 계속 진행을 해보자.XPATH만 정확히 찾아낼 수 있다면 클릭이나 입력 같은 제어는 아주 간단하다. 찾아낸 인스턴스 뒤에 click() 이나 send_keys()메서드를 이용하면 된다.from selenium import webdriverfrom selenium.webdriver.common.by import By#driver 인스턴스 정의driver = webdriver.Chrome() #사이트 이동: get()메서드driver.get('사이트 주소') #사이트에 제어하려는 위치 찾기(find_element&By메서드)driver.find_element(By.XPATH, '..

[도서 입력 프로그램] 3-2. Selenium XPATH 찾기

[도서 정보 자동 입력 프로그램] 3-2. Selenium XPATH 찾기 지난 포스트로 추출한 도서 정보를 이제 본격적으로 Yes24에 등록할 시간이다.Yes24 판매관리 페이지에서 도서 정보를 등록하기 위해서는 여러가지 기본 버튼, 라디오버튼, 드롭다운 메뉴, 파일업로드(이미지 업로드)창을 클릭해야 한다.  Selenium으로 웹페이지에서 해당하는 버튼 등을 제어하려면 정확한 XPATH주소가 필요하다.잘 모를때는 크롬 개발자모드에서 XPATH주소를 그대로 복사해서 넣었는데 그러다 보니 제대로 Click이 안되는 경우가 빈번했다. 그리하여 id 등 특정 속성으로 태그를 특징하여 XPATH 주소를 넣어보니 제어가 잘 되었다. 그런데, id를 기준으로 XPATH를 작성한뒤 코드를 계속 작성하면서 테스트를 ..

[도서 입력 프로그램] 3-1. Selenium 입력 구조 구상

[도서 정보 자동 입력 프로그램] 3-1. Selenium 입력 구조 구상 이번 포스팅부터 본격적으로 Yes24로 도서 정보 입력을 시작한다.제일 처음으로 입력하는 구조를 구상해야 한다. 도서 정보를 알라딘에서 Yes24로 입력하는 것을 처음에는 그저 있는대로 복붙하는 굉장히 단순한 과정이라 생각했다.하지만 계속 진행을 하다보니 생각만큼 간단하지가 않았다.책의 종류가 많은 만큼 이런저런 예외적인 경우가 발생하고, 알라딘과 Yes24의 입력 방식과 분류가 달라서 그걸 끼워맞춰야할 일도 많았다. 대략적으로 아래와 같은 구분이 필요하다. 1) 가장 기본적이고 큰 문제는 바로 ISBN 유무이다.ISBN이 있는 도서라면 검색을 통해 기본정보를 불러와서 입력 절차를 간소화할 수 있다.ISBN이 없다면 모든 정보를 ..

[도서 입력 프로그램] 1. Selenium 자동 로그인 (feat. 소스코드 민감정보 보안)

[도서 정보 자동 입력 프로그램] 1. Seleinium 자동 로그인자동화가 필요한 대략적인 작업 구조는 이러하다.1. 알라딘 판매자 로그인2. Yes24로 입력할 도서 정보(ISBN, 도서명, 가격, 상태 등) 추출3. Yes24 판매자 로그인4. 도서 정보 입력 후 등록 우선 1번과 3번에서 필요한 자동 로그인 기능부터 구현해보자.파이썬으로 웹페이지 자동 로그인을 하기 위해서는 주로 Selenium 라이브러리를 사용한다. 나 같은 초짜일 수록 코딩의 9할은 결국 복붙인것 같다.Chat GPT가 활성화된 요즘엔 특히 더욱 그러하다.구글링 또는 Chat GPT로 쉽게 Selenium 자동 로그인 코드를 검색해서 아래와 같이 적용해보았다.from selenium import webdriverfrom sel..