분류 전체보기
-
코드 작성 및 동작 확인Project/자동 출석체크 2023. 1. 18. 18:28
# 사용 언어: Python 3.10 # 사용 패키지: Selenium, webdriver-manager # 동작 과정 웹페이지 접속 → 로그인 → 출석 체크 → 결과 확인(알림창) → 보유 마일리지 조회 → 결과 출력 가장 먼저 출석 체크하려는 페이지에 접속하여 Selenium의 'send_keys'를 이용하여 ID와 PW를 입력하여 로그인한다. 이후 출석 체크 페이지로 이동하여 하단의 출석체크 버튼을 클릭한다. 이때 정상적으로 출석체크가 이루어졌는지 확인하기 위해 'switch_to.alert'으로 알림창에 출력된 문구를 추출한다. 이후 마이페이지로 이동하고 현재 보유 중인 마일리지 잔액 또한 추출한다. 브라우저를 종료하고 추출했던 출석 체크 결과(알림창 문구)와 보유 마일리지 잔액을 출력한다. 웹 ..
-
[Selenium] 결과 값 텍스트가 빈칸(공백)으로 리턴될 때Memo/Python 2023. 1. 18. 17:38
Selenium으로 크롤링 도중 특정 페이지에서만 요소의 결과 값이 빈칸(공백)으로 반환되는 문제가 발생하였다. 별짓을 해보아도 계속해서 되돌아오는건 빈칸이였다.. 또 한참 검색을 해본 결과 beautifulsoup과 함께 사용하면 문제를 해결할 수 있다는 글이 있었지만, 나는 selenium으로만 사용하여 문제를 해결하고 싶어 계속해서 폭풍 검색을 하였다. 결국 우리의 stackoverflow에서 해결 방법을 찾을 수 있었다. element.get_attribute("innerText") 요소의 DOM에 존재하는 텍스트를 가져오는 방법으로 해결할 수 있었다. getText() method of selenium chrome driver sometimes returns an empty string I ha..
-
[Selenium] 코드 실행 후 브라우저가 자동으로 종료될 때Memo/Python 2023. 1. 17. 19:12
이전에는 그러지 않았는데 언젠가 부터 selenium 코드가 전부 실행되고, close나 quit 명령을 주지도 않았는데 자동으로 꺼지는 현상이 생겼다. 검색결과 vscode 환경에서의 문제?라고 하던데 나의 경우 driver 옵션 하나를 추가해서 해결할 수 있었다. options = webdriver.ChromeOptions() options.add_experimental_option("detach", True) selenium 사용 중 브라우저 종료 하고 싶지 않을 때 python으로 브라우저 컨트롤시에 selenium를 이용해서 컨트롤하는 경우 드라이버 생성을 특정함수 안에서 하게 되면 함수가 종료될때 브라우저도 같이 종료되는데, 가끔 종료되지 않았으면 할때 아 capas.tistory.com
-
[Selenium] 클릭 시 element not interactable 에러Memo/Python 2023. 1. 17. 16:50
Selenium으로 코드를 작성 중 창을 닫기 위해 x버튼을 클릭해야 하는 상황이였다. 분명 다른 요소와 동일하게 'button' 태그를 가지고 있지만 다음과 같은 에러가 발생하며 클릭이 작동하지 않았다. Message: element not interactable 다행히 검색을 통해 해결 방법을 쉽게 찾을 수 있었다. close = driver.find_element(By.XPATH, '//*[@id="btnLayerClose"]') driver.execute_script("arguments[0].click();", close) Selenium에서 특정 element가 갑자기 클릭이 되지 않을 때 (python) selenium을 이용해서 functional test를 쨔는 도중, 특정 element를..
-
[Python-Telegram-Bot v20.0] 메시지 전송 에러 해결Memo/Python 2023. 1. 13. 16:52
- 23.02.13 파이썬에서 텔레그램 메시지를 보내려면 json을 이용해 api로 전송하는 것을 추천드립니다. 공식 문서를 지원할 뿐만 아니라, 더욱 간결하고 에러 문제가 없습니다. https://l22hs.tistory.com/31 파이썬을 이용해 텔레그램 메시지를 전송하고 싶어, 여느때와 같이 구글링을 시작하였다. 블로그에 친절하게 잘 정리된 글을 보고 'Python-Telegram-Bot' 패키지를 설치하였다. 그러나 블로그에서 알려준 코드대로 작성해보았지만 계속해서 오류가 발생하였다. # Error RuntimeWarning: coroutine 'Bot.send_message' was never awaited 여러 국내 블로그 자료를 뒤져보고, 계속 수정도 해봤지만 끝내 오류가 해결되지 않았다...
-
Crontab에서 Selenium 동작 시 Chrome failed to start 에러 해결Memo/Ubuntu 2023. 1. 8. 21:12
unknown error: Chrome failed to start: exited abnormally Selenium이 사용된 파이썬 소스코드를 쉘에서 직접 실행할 때는 아무런 이상이 없었다가 크론탭에서만 실행하면 위와 같은 에러가 발생하였다. 검색 결과 ChromeDriver 옵션 하나를 추가하여 해결할 수 있었다. options = webdriver.ChromeOptions() options.add_argument('--no-sandbox') [Selenium] unknown error: Chrome failed to start: exited abnormally linux 환경에서 chrome driver 사용시 발생할 수 있는 에러입니다. path, version 모두 맞췄으면 아래 options을..
-
Crontab에서 Python 패키지(모듈)를 찾지 못할 때Memo/Ubuntu 2023. 1. 8. 21:01
.py 파일을 쉘에서 직접 실행 하였을때는 문제가 없지만 크론탭을 통해 실행될 때 소스코드에서 사용한 패키지를 찾지 못하는 경우가 발생하였다. 검색 결과 아래와 같이 크론탭에 파이썬 패키지가 설치된 경로를 지정해 주면 해결할 수 있다. $ sudo vi /etc/crontab PYTHONPATH=/home/ubuntu/.local/lib/python3.10/site-packages Crontab cannot find python module selenium - Raspberry Pi Forums Sun Dec 31, 2017 3:41 pm Hello, I am using a Rasp Pi 3 B and as a beginner with linux I am having trouble with crontab..