컴퓨터/Python
python 셀레니움 headless 실행 중 다른 동영상 보여주는 코드
풍경소리^^
2024. 12. 26. 16:51
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import win32api
import win32con
import threading
# www.hometax.go.kr 작업 함수
def hometax_task():
options = Options()
options.add_argument("--start-maximized")
# options.add_argument("--headless=new") # headless 옵션
options.add_experimental_option("detach", True) # selenium 사용 중 브라우저 종료 방지
driver = webdriver.Chrome(options=options)
# 브라우저를 화면 밖으로 이동시키기 (윈도우에서 보이지 않게 설정)
# driver.set_window_position(-1000, 0) # 브라우저를 화면 밖 좌표로 이동
url = 'https://www.hometax.go.kr'
driver.get(url)
time.sleep(5)
# www.hometax.go.kr에서의 작업 (예시)
# 예: 로그인, 데이터 가져오기 등
time.sleep(10) # 작업 중 대기
# 작업 완료 후 브라우저 종료
driver.quit()
# 작업 완료 이벤트를 전달하기 위한 메시지 박스
win32api.MessageBox(0, "www.hometax.go.kr 작업 완료!", "작업 완료")
# 유튜브 동영상 실행 및 제어 함수
def youtube_task(stop_event):
options = Options()
options.add_argument("--start-maximized")
# options.add_argument("--headless=new") # headless 옵션
options.add_experimental_option("detach", True) # selenium 사용 중 브라우저 종료 방지
driver = webdriver.Chrome(options=options)
url = 'https://www.youtube.com/watch?v=example' # 동영상이 있는 유튜브 URL
driver.get(url)
time.sleep(5)
# 동영상 실행 (유튜브에서는 자동으로 실행되므로 별도 코드 불필요)
# stop_event가 설정될 때까지 대기
while not stop_event.is_set():
time.sleep(1)
# stop_event가 설정되면 동영상 멈춤
video_element = driver.find_element_by_css_selector('video')
driver.execute_script("arguments[0].pause();", video_element)
# 파일 생성 완료 메시지 박스
win32api.MessageBox(0, "통합파일 생성 완료!", "파일 생성")
# 드라이버 종료
driver.quit()
# 이벤트 생성
stop_event = threading.Event()
# 스레드 생성 및 실행
hometax_thread = threading.Thread(target=hometax_task)
youtube_thread = threading.Thread(target=youtube_task, args=(stop_event,))
hometax_thread.start()
youtube_thread.start()
# www.hometax.go.kr 작업이 완료되면 stop_event 설정
hometax_thread.join()
stop_event.set()
youtube_thread.join()