✨ feat: ChromeDriver 경로 설정 및 로그 디렉토리 생성 추가
- ChromeDriver 경로를 환경 변수로 설정하여 유연한 드라이버 관리 가능 - CI 및 로컬 환경에서 로그 디렉토리를 자동 생성하도록 수정 - requirements.txt에서 selenium 버전을 명시적으로 지정하여 호환성 강화
This commit is contained in:
4
.github/workflows/lotto-buy.yml
vendored
4
.github/workflows/lotto-buy.yml
vendored
@@ -78,11 +78,12 @@ jobs:
|
|||||||
uses: browser-actions/setup-chrome@v1
|
uses: browser-actions/setup-chrome@v1
|
||||||
with:
|
with:
|
||||||
install-dependencies: true
|
install-dependencies: true
|
||||||
install-driver: true
|
install-chromedriver: true
|
||||||
|
|
||||||
- name: Chrome 확인
|
- name: Chrome 확인
|
||||||
run: |
|
run: |
|
||||||
"${{ steps.setup-chrome.outputs.chrome-path }}" --version
|
"${{ steps.setup-chrome.outputs.chrome-path }}" --version
|
||||||
|
"${{ steps.setup-chrome.outputs.chromedriver-path }}" --version
|
||||||
|
|
||||||
- name: 로또 구매 실행
|
- name: 로또 구매 실행
|
||||||
env:
|
env:
|
||||||
@@ -91,4 +92,5 @@ jobs:
|
|||||||
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||||||
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
|
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
|
||||||
CHROME_BIN: ${{ steps.setup-chrome.outputs.chrome-path }}
|
CHROME_BIN: ${{ steps.setup-chrome.outputs.chrome-path }}
|
||||||
|
CHROMEDRIVER_PATH: ${{ steps.setup-chrome.outputs.chromedriver-path }}
|
||||||
run: .venv/bin/python3 lotto-runner/lotto_auto_buy.py
|
run: .venv/bin/python3 lotto-runner/lotto_auto_buy.py
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ import tempfile
|
|||||||
import urllib.request
|
import urllib.request
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
# 로그 디렉토리는 CI/로컬 어디서든 보장
|
||||||
|
os.makedirs("logs", exist_ok=True)
|
||||||
|
|
||||||
# .env 파일 자동 로드
|
# .env 파일 자동 로드
|
||||||
try:
|
try:
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
@@ -89,7 +92,10 @@ def create_driver():
|
|||||||
options.add_experimental_option("excludeSwitches", ["enable-automation"])
|
options.add_experimental_option("excludeSwitches", ["enable-automation"])
|
||||||
options.add_experimental_option("useAutomationExtension", False)
|
options.add_experimental_option("useAutomationExtension", False)
|
||||||
|
|
||||||
driver = webdriver.Chrome(options=options)
|
chromedriver_path = os.environ.get("CHROMEDRIVER_PATH", "")
|
||||||
|
service = Service(executable_path=chromedriver_path) if chromedriver_path else None
|
||||||
|
|
||||||
|
driver = webdriver.Chrome(service=service, options=options)
|
||||||
# 종료 시 정리할 수 있도록 임시 프로필 경로 저장
|
# 종료 시 정리할 수 있도록 임시 프로필 경로 저장
|
||||||
driver._chrome_user_data_dir = chrome_user_data_dir
|
driver._chrome_user_data_dir = chrome_user_data_dir
|
||||||
driver._chrome_user_data_dir_auto_created = auto_created_profile
|
driver._chrome_user_data_dir_auto_created = auto_created_profile
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
selenium
|
selenium>=4.6.0
|
||||||
python-dotenv
|
python-dotenv
|
||||||
|
|||||||
Reference in New Issue
Block a user