파이썬, 셀레니움에서 파일 다운로드 및 스크린샷 저장하기
글. 수알치 오상문
파이썬 사이트에서 파이썬 설치 파일을 지정한 디렉터리에 다운로드하고, 스크린샷도 찍어서 보관하는 예제입니다.
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import StaleElementReferenceException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time
# 파이썬 다운로드 사이트
URL = "https://www.python.org/downloads/release/python-3106/"
# 스크린 샷을 저장할 파일명
SCREENSHOT_NAME = "screenshot.png"
options = webdriver.ChromeOptions()
#options.add_argument('headless')
options.add_argument("disable-gpu")
options.add_argument("lang=ko_KR")
options.add_argument("user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36")
# 파일 다운로드 관련 옵션 설정
options.add_experimental_option(
"prefs",
{ "download.default_directory": 'D:\\download', # 다운로드 파일을 저장할 경로
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": True
})
driver = webdriver.Chrome(options=options)
driver.maximize_window() # 웹브라우저 창 최대화
# driver.set_window_size(1920, 1080)
try:
driver.get(URL)
driver.implicitly_wait(15)
driver.get_screenshot_as_file(SCREENSHOT_NAME)
# 스크린샷 파일 저장
driver.save_screenshot('D:/download/' + SCREENSHOT_NAME)
# 파이썬 설치 파일 다운로드 클릭
driver.find_element(By.XPATH, '//*[@id="content"]/div/section/article/table/tbody/tr[8]/td[1]/a').click()
except Exception as e:
print('Error:', e)
else:
time.sleep(30) # 다운로드 위해 기다리기
finally:
driver.close()
driver.quit()
[실행 결과] D:/download
'웹 크롤링, 스크래핑' 카테고리의 다른 글
ERROR: Could not find a version that satisfies the requirement seleniumrequests (0) | 2022.08.27 |
---|---|
셀레니움, 영문 가이드 링크 (0) | 2022.08.27 |
파이썬, 셀레니움 ActionChains 이용하기 (0) | 2022.08.13 |
목적 사이트에 맞는 유저 에이전트 확인하기 (0) | 2022.08.13 |
파이썬, 셀레니움 다중 윈도우/탭 제어 동영상 (0) | 2022.08.09 |