Search

새로고침 자동화 매크로봇

담당자
사용부서
선택
사용중
솔루션
운영방식/사전정보
자동화
확인 필요
python 사용하여 프로그램 상세페이지를 새로고침하는 코드입니다.
다만, 아임웹으로 넘어가는 경우 해당 자동화 매크로봇은 사용할 필요가 없을 수 있습니다.
왜 만들었나요?
우피의 경우 새로고침을 해야 수정된 내용이 적용이 되어요.
수많은 상세 페이지를 새로고침 하는 경우, 소요되는 시간이 많기에 만들었어요.
초기세팅
visual studio 다운로드 https://code.visualstudio.com python 3 다운로드 https://www.python.org → 환경변수 https://anys4udoc.readthedocs.io/en/latest/attach/zz-python-install.html webdriver chrome 다운로드 https://developer.chrome.com/docs/chromedriver/downloads → 경로지정 혹은 해당 파일에 붙여넣기
1. 파일 생성 2. {}.py 생성 3. 가상환경 세팅 https://homubee.tistory.com/38 - venv https://liebe97.tistory.com/10
pip install gspread pip install selenium
HTML
복사
(추가) 터미널에서 버전 확인 https://rk1993.tistory.com/424
python3 !pip --version
HTML
복사

최종 완성본 코드

import gspread from google.oauth2.service_account import Credentials from gspread.exceptions import SpreadsheetNotFound import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 최종본 # 절대 경로로 JSON 키 파일 경로 설정 json_key_file_path = '/Users/mad-book/Desktop/testCode/click-event-428509-a3ef8ccc1374.json' # 필요한 권한 범위 설정 scopes = [ "https://www.googleapis.com/auth/spreadsheets", # 기본 범위 "https://www.googleapis.com/auth/drive" # 추가적인 범위 (예시) ] # 서비스 계정 인증 credentials = Credentials.from_service_account_file(json_key_file_path, scopes=scopes) gc = gspread.authorize(credentials) # 도메인 리스트 domains = [ ] def main(): # Chrome WebDriver를 시작합니다. browser = webdriver.Chrome() try: # Google Sheets 열기 spreadsheet = gc.open('프로그램 url 제작하기') worksheet = spreadsheet.worksheet('새로고침용 합격/팀공지페이지url') # C 열의 데이터 2번째부터 65번째까지 가져오기 c_column_range = worksheet.range('C64:C129') c_column_data = [cell.value for cell in c_column_range] # 가져온 데이터를 domains 리스트에 추가 for data in c_column_data: domains.append(data) # 각 도메인에 접근합니다. for domain in domains: browser.get(domain) print(f"Accessing: {domain}") try: # 페이지가 완전히 로드될 때까지 기다립니다. WebDriverWait(browser, 10).until( EC.presence_of_element_located((By.TAG_NAME, "body")) ) print(f"Successfully accessed: {domain}") except Exception as e: print(f"Error accessing {domain}: {e}") # 도메인별 작업 후 잠시 대기 time.sleep(2) finally: # 브라우저를 닫습니다. browser.quit() if __name__ == "__main__": main() def main(): # Chrome WebDriver를 시작합니다. browser = webdriver.Chrome() try: for domain in domains: # 각 도메인에 접근합니다. browser.get(domain) print(f"Accessing: {domain}") # 페이지가 완전히 로드될 때까지 기다립니다 (예: 특정 요소가 나타날 때까지). try: WebDriverWait(browser, 10).until( EC.presence_of_element_located((By.TAG_NAME, "body")) ) print(f"Successfully accessed: {domain}") except Exception as e: print(f"Error accessing {domain}: {e}") # 도메인별 작업 후 잠시 대기 time.sleep(2) finally: # 브라우저를 닫습니다. browser.quit() if __name__ == "__main__": main()
Python
복사