[Python] Selenium 스크롤 클릭해서 수동으로 내리기

프로그래밍/Python 2022. 1. 16. 16:36

Selenium으로 아버지 업무 자동화를 도와드리면서 저기 위 사이트 레이아웃 처럼 되있는 곳의 내부 스크롤(Inner Scroll) 을 내려야 하는 상황이 생겼습니다. 저 내부 스크롤을 내리면 스크롤 왼쪽에 보이는 표가 동적으로 로딩되면서 보여지는데 저 스크롤을 살짝식 내리면서 동적 테이블(Dynamic Table) 의 요소를 로딩하고 데이터를 가져오는게 목표였습니다. 그런데 보통 Selenium에서 스크롤을 내리는 방법을 할때 직접 클릭하는 방법을 사용하는게 아니라 JS를 직접 execute시켜서 내리는 방법이 대부분입니다. 이게 가장 좋은 방법이기도 하구요. 그런데 문제는 지금 제 Selenium 환경이 사이트 특성상 IE Driver을 사용하고 있고 자바스크립트로 내리면 화면은 내려가는데 JS로 ..

Article Thumbnail
[Python] PyQt5 학습 정보, 비동기 작업, 쓰레드 작업 등 정보 모음

프로그래밍/Python 2022. 1. 14. 18:05

PyQt5 쓰레드 이용하여 비동기 작업으로 GUI 응답없음 방지하기 (Best Example) https://ybworld.tistory.com/39?category=929856 [Python/파이썬] PyQt5 사용시 필요한 쓰레드 개념 이해 : 파이썬 GUI 응답없음 해결 방법 - 2 ※ 이 글을 쓰는 사람은 SW 비전공자입니다. ※ 개인 공부를 위해 정리하는 글이며, 작성한 코드들은 효율성, 깔끔함(?) 등과는 거리가 멀 수 있습니다. 1편 : 2021.03.06 - [코딩/Python] - [Python/파이썬] ybworld.tistory.com Pyside6에서 Material(Modern) Design하기 https://www.youtube.com/watch?v=Jn0PpzB14Y8 http..

Article Thumbnail
시놀로지 NAS + JupyterLab 원격 IDE 환경

프로그래밍/Python 2022. 1. 4. 00:28

위 사진은 시놀로지에서 서버가 돌아가고있는 JupyerLab 환경입니다. 포트포워딩도 되어있어서 비밀번호만 알면 언제 어디서든지 url로 접속해서 Python 코딩이 가능합니다. 밖에서 백준풀때나 코딩으로 허세부리고 싶을때 유용하게 쓰고 있습니다. 속도는 네이티브 환경에서 하는거랑 비슷비슷한데 당연히 네이티브보단 느립니다. 저희집에 컴퓨터가 노트북 포함 4대쯤 있는데 이리저리 왔다갔다 하면서 해도 NAS를 기반으로 연동되서 매우 유용합니다. Anaconda나 JupyerLab(또는 Jupyter Notebook) 을 컴퓨터마다 깔아서 라이브러리가 따로 관리되는게 상당히 번거롭거든요. 아마 군대에 있었음 유용하게 썼을건데요.. ㅎㅎ 별로 말하고 싶지 않군요.

Article Thumbnail
[Python] Selenium + IEDriver 성능 개선 방법

프로그래밍/Python 2021. 11. 1. 02:40

Selenium + ChromeDriver 조합 자체도 느려서 웹 사이트 뜯어가면서 requests 보고있는 판국에 굳이 인터넷 익스플로러 쓰겠다고 Selenium + IEDriver을 쓰는 분들이 얼마나 많을까 싶지만 지금 제가 아버지 업무자동화를 위해 만들고 있는 사이트가 구닥다리라 Active X + 보안 유틸리티 떡칠이라는 끔직한 조합 덕에 어쩔수 없이 IEDriver을 쓰고 있습니다. IEDriver을 쓰면서 조금의 팁을 작성합니다. 1. IEDriver이 아예 작동하지 않을때 https://pgh268400.tistory.com/123 [C#] Selenium IEDRIVER이 작동하지 않을때 해결법 Selenium으로 IEDriver을 제어하면 일부 컴퓨터에서 프로그램 구동이 되지 않고 소리..

Article Thumbnail
[Python] 디시인사이드 글 검색 크롤링 / 파싱

프로그래밍/Python 2021. 10. 30. 19:11

import time import requests, re from bs4 import BeautifulSoup from IPython.core.display import display, HTML #봇 차단을 위한 헤더 설정 headers = { "Connection" : "keep-alive", "Cache-Control" : "max-age=0", "sec-ch-ua-mobile" : "?0", "DNT" : "1", "Upgrade-Insecure-Requests" : "1", "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/53..

Article Thumbnail
비트코인 픽 사이트와 연동해서 텔레그램 알림을 주는 프로그램을 개발했습니다

프로그래밍/Python 2021. 10. 11. 02:16

비트코인 종목 추천 사이트와 연동하여 종목 추천이 이루어지는 오전 12:20, 오전 9시 정해진 시간에 따라 사이트에서 데이터를 가져와서 텔레그램으로 알림을 주는 프로그램입니다. 원래는 시간당 n만원씩 받고 외주 받는 형태로 진행하는데 같이 투자 진행하시는 분이 수익 내는데 도움도 많이 주시고 하셔서 특별히 공짜로 만들어드렸습니다 ㅎㅎ 원리는 간단하게 사이트에 자동으로 로그인한뒤 일정시간마다 requests를 보내고 나오는 response를 정리해서 Telegram 봇에 채팅을 보내도록 시키는 형태입니다. 일정시간마다 실행하는건 집에 24시간 돌아가는 저전력 NAS서버 시놀로지 작업 스케줄러를 이용해서 실행합니다. 아무래도 시놀로지가 리눅스 기반이라 크롬 드라이버는 사용이 안되서 Python의 reque..

Article Thumbnail
[Python] smi 자막 특정 위치부터 싱크 조절하기

프로그래밍/Python 2021. 9. 22. 02:00

from easysmi import * #단일 파일 처리 folder = 'C:/자막/' filename = '[SubsPlease] Tokyo Revengers - 02 (1080p) [B66CEAA7].smi' p = parse_smi(folder + filename) search_line = find_line_by_text(p, "sub by") if search_line != -1: s = sync_shift(p, search_line, -10000) s = sync_shift(s, 0, 1300) make_dirs(folder + 'output') #make output folder new_path = folder + "output/" + filename file_save(new_path, s)..

Article Thumbnail
[Python] 인코딩 오류 없이 텍스트 파일 읽기

프로그래밍/Python 2021. 9. 17. 20:57

def read_file(path): f = open(path, "r") line = f.readline() data = "" while line: data += line line = f.readline() f.close() return data smi 자막 파일을 열어서 싱크 조절을 위해 다음과 같이 코딩하고 즐거운 마음으로 실행을 하였습니다. UnicodeDecodeError: 'cp949' codec can't decode byte 0x01 in position 1: illegal multibyte sequence 어김없이 등장하는 오류.. 인터넷에 검색해보니 수많은 예제가 뜨네요. 인코딩이 안 맞아서 안 열리나 봅니다. 파이썬은 기본적으로 파일이 ANSI로 작성되었다고 가정하고 cp949라는 코덱..

Article Thumbnail