본문 바로가기

selenium11

Python Selenium ChromeDriver 렌더링/로딩 느린 현상 해결(Mac Apple Silicon M1/M2/M3) M1 Mac에서 selenium으로 개발을 하면서 정말 답답한 현상이 생겼다. 정상적인 크롬 렌더링 속도는 아래와 같다. 그런데 selenium으로 chromedriver를 실행하기만 하면 네이버 홈페이지를 렌더링하는데 거의 40초 이상이 걸리는 문제가 있었다. 처음에는 그냥 하다가...너무너무 답답해서 이걸 먼저 해결하기 위해 구글링을 좀 해봤다. chromedriver도 다시 깔아보고 별의별짓을 다 해봤는데, 결론은 python의 target architecture 문제였다. 실행된 chrome에서 설정->Chrome 정보 에 들어가보면 (arm64)라고 표시되어야 정상이다.(M1~M3 기준) 그런데 문제가 있는 브라우저에서는 x86_64라고 표시되고 있었고, Apple Silicon에 맞게끔 코드가.. 2024. 1. 17.
SRT&KTX 기차표 매크로 예매 - (14) 텔레그램, 이메일 환경설정 UI 이번 프로젝트의 개발 내용으로 마지막이 될 글이다:) 텔레그램과 이메일 등 환경설정을 넣을 수 있는 UI를 만들어보자. Qt Designer에서 아래와 같이 환경설정 tab을 하나 더 만들고 UI를 구성하자. 환경설정 관련된 main.py 코드는 아래와 같다 (뒤쪽 예매파트는 생략) class UiMainClass(QDialog): def __init__(self): self.max_error_log = 20 self.max_try_log = 100 self.srt = SRT(self.error_callback, self.srt_try_callback) self.srt_stations = self.srt.get_stations() self.srt_thread = None self.srt_radiobutt.. 2024. 1. 17.
SRT&KTX 기차표 매크로 예매 - (13) 예매시 이메일 보내기(smtplib, email) 이제 이메일을 보내보자. 모든 이메일 서버를 지원하기에는 공수가 많이 들어가니 가장 많이 사용하는 gmail로 발신 서버를 제한한다. python에서 gmail을 보내려면 사전 세팅이 좀 필요한데, 아래 블로그를 참고하여 준비하자. Python으로 Gmail 보내기 나름의 이유로 시스템에서 메일을 보내야할 일이 있는데, 이왕이면 Gmail을 이용해보고 싶어서 살펴보기로 했다. 일단 Gmail을 통해 이메일을 보내기 위해서 미리 셋팅을 해줘야 할 것이 있다. Gmail www.whatwant.com 콜백 함수까지 포함해서 코드를 완성하면 아래와 같다. import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text impo.. 2024. 1. 17.
SRT&KTX 기차표 매크로 예매 - (11) KTX 승차권 예매 KTX의 마지막..! 기차표를 예매해보자 ktx 예매를 해보면, 꽤 많은 데이터를 전달하는 것을 확인할 수 있다. 스케쥴 조회했던 것과 마찬가지로 테스트해가며 하나씩 분석해보자.. 예매를 여러번 해보면서 찾은 결과 URL : https://www.letskorail.com/ebizprd/EbizPrdTicketPr12111_i1.do Method : POST Data Field selGoTrain : 기차 종류 (05 - 전체, 00 - KTX, 09 - ITX-청춘, 18 - ITX-마음, 02 - 무궁화, 03 - 통근열차) txtSeatAttCd2 : 좌석방향 (000 - 기본, 009 - 순방향석, 010 - 역방향석) txtSeatAttCd3 : 좌석위치 (000 - 기본, 011 - 1인석, .. 2024. 1. 16.