URL이 초과된 최대 재시도 횟수
NewConnectionError로 인해 발생
아래와 같이 스크린샷을 캡처하기 위해 Python 코드를 작성할 때 수정할 수 없는 오류가 발생했습니다.
이 문제를 해결하기 위해 이틀을 보냈습니다.
문제가 된 코드
driver = webdriver.Chrome(service=service, options=options)
#계속 이걸 밖에 작성해둔 상태였음
if req.status_code == 200:
html = req.text
soup = BeautifulSoup(html, "html.parser")
url_arr = ()
url_list = soup.select(".benefitBanner")
for i in url_list:
card_url = i.select_one("a")
if not card_url:
continue
url_arr.append(card_url('href'))
print(url_arr)
num=1
for i in url_arr:
try:
driver.get(f"{i}")
# 스크린샷 전에 시간 두기(로딩이 느릴수도 있으니)
time.sleep(3)
width = driver.execute_script("return document.body.scrollWidth") # Maximum width as mouse scrolling
driver.set_window_size(width, 4000) # Size
driver.save_screenshot(f"img_interPark/{num}_promo.png")
# 종료 (모든 탭 종료)
driver.quit()
print("### capture complete")
num = num + 1
except Exception as e:
print('### error msg :: ', e)
driver.quit()
코드 해결
Chrome은 for 문에서 driver.quit()으로 종료되어야 합니다.
따라서 루프는 한 번 실행되지만 다음에 동일한 오류가 나타납니다.
if req.status_code == 200:
html = req.text
soup = BeautifulSoup(html, "html.parser")
url_arr = ()
url_list = soup.select(".benefitBanner")
for i in url_list:
card_url = i.select_one("a")
if not card_url:
continue
url_arr.append(card_url('href'))
print(url_arr)
num=1
#문제의 스크린샷 캡처를 위한 코드
for i in url_arr:
try:
driver = webdriver.Chrome(service=service, options=options)
driver.get(f"{i}")
# 스크린샷 전에 시간 두기(로딩이 느릴수도 있으니)
time.sleep(3)
width = driver.execute_script("return document.body.scrollWidth") # Maximum width as mouse scrolling
driver.set_window_size(width, 4000) # Size
driver.save_screenshot(f"img_interPark/{num}_promo.png")
# 종료 (모든 탭 종료)
driver.quit()
print("### capture complete")
num = num + 1
except Exception as e:
print('### error msg :: ', e)
driver.quit()
나는 이 사람의 글을 읽고 구원받았다.
해결책은 webdriver.Chrome을 반복하여 다시 읽는 것입니다.