• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    미해결

스크린샷 스크린롤 하면서 찍기 문의드립니다.

20.03.12 13:51 작성 조회수 206

1

안녕하세요! 개복치님 덕분에 프로그래밍에 흥미를 갖고 있습니다.

다름이 아니라 하나 제가  시도하는 스크린샷찍기가 있는데

프로그램 로직 순서는 아래와 같습니다.

네이버 접속 ->  다음 입력 후 -> 다음 링크 홈페이지 클릭해서 접속 후 ->  해당 다음 홈페이지 스크린샷 찍기

하지만 해당 다음 홈페이지까지는 완벽히 가는데 그 후에 스크린샷을 찍으려하면 원래 처음 탭인 다음을 검색한 네이버로 창이

옮겨져가서 스크린샷을 찍습니다...그래서 문제를 찾아서 보니

driver.get 부분이 네이버로 되어있으서 네이버에가서 스크린샷을 계속 찍는데

driver.get 부분 소스코드를 스크린샷 찍기전 driver.get("https://www.daum.net/"

이렇게 다시 get 해서 다음으로 가서 스크린샷을 찍습니다만..

하지만 제가 원하는 홈페이지지 URL를 소스코드를 찾아서 계속 수기로 입력하는 

방법인데 이러한 방법 보다 해당 홈페이지를 접속하면 해당 탭에 대한 스크린샷을 찍게 하는 방법은 없을까요?

혹시 몰라  소스코드 첨부합니다. 

감사합니다!

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import time



driver = webdriver.Chrome("./chromedriver")
driver.get("https://www.naver.com/")
driver.find_element_by_name("query").send_keys("다음")
time.sleep(2)
driver.find_element_by_name("query").send_keys(Keys.ENTER)
time.sleep(1)
driver.find_element_by_xpath('//*[@id="main_pack"]/div[2]/ul/li/dl/dt/a').click()
time.sleep(5)
driver.refresh()
time.sleep(1)
driver.get("https://www.daum.net/")
for i in range(1,6):
driver.get_screenshot_as_file("screendata/daum{}.png".format(i))
#스크롤 기능 적산 값이 아니라 계속 포인트를 지정해줘야 내려감
#1000만큼 내려서 1000만큼 더내리고 싶으면 0,2000 을 해줘야됨
driver.execute_script("window.scrollTo(0,{}000)".format(i))
time.sleep(3)
i += 1



답변 2

·

답변을 작성해보세요.

0

안녕하세요. 개복치님 답변 감사드립니다.

동영상 첨부 방법을 몰라 부득이하게 개복치님 블로그를 통해 메일주소로 동영상과 코드 문제점을

첨부하여 보냈습니다. 감사합니다.

0

안녕하세요 풍선몰리님

강의 수강해주셔서 감사합니다.

제가 이해력이 나빠서... 어떤 프로그램을 만드시고 싶으신지 한번에 알기가 조금 힘듭니다!

혹시 영상으로 찍어서 "이렇게 움직이게 하고 싶다" 라고 적어주시면 제가 이해하기 쉬울 것 같습니다~

감사합니다!