diff --git a/.github/workflows/lotto-buy.yml b/.github/workflows/lotto-buy.yml index fa9a967..5589a40 100644 --- a/.github/workflows/lotto-buy.yml +++ b/.github/workflows/lotto-buy.yml @@ -78,11 +78,12 @@ jobs: uses: browser-actions/setup-chrome@v1 with: install-dependencies: true - install-driver: true + install-chromedriver: true - name: Chrome 확인 run: | "${{ steps.setup-chrome.outputs.chrome-path }}" --version + "${{ steps.setup-chrome.outputs.chromedriver-path }}" --version - name: 로또 구매 실행 env: @@ -91,4 +92,5 @@ jobs: TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} 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 diff --git a/lotto-runner/lotto_auto_buy.py b/lotto-runner/lotto_auto_buy.py index 65b13b7..205c2c7 100644 --- a/lotto-runner/lotto_auto_buy.py +++ b/lotto-runner/lotto_auto_buy.py @@ -19,6 +19,9 @@ import tempfile import urllib.request from datetime import datetime +# 로그 디렉토리는 CI/로컬 어디서든 보장 +os.makedirs("logs", exist_ok=True) + # .env 파일 자동 로드 try: from dotenv import load_dotenv @@ -89,7 +92,10 @@ def create_driver(): options.add_experimental_option("excludeSwitches", ["enable-automation"]) 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_auto_created = auto_created_profile diff --git a/lotto-runner/requirements.txt b/lotto-runner/requirements.txt index c6ffdf1..d2c5735 100644 --- a/lotto-runner/requirements.txt +++ b/lotto-runner/requirements.txt @@ -1,2 +1,2 @@ -selenium +selenium>=4.6.0 python-dotenv