[셀레니움]htm 문서 이름까지는 알아 냈습니다. 이제 그것들을 하나씩 클릭하려면 어떻게 해야 하나요?
조회수 769회
목표: -각 html 문서로 들어간 뒤 -전체 문서 복사 = 키보드 CTRL + A -해당 내용 엑셀로 저장
진행상황 현재 아래 까지 진행했습니다. 프레임을 전환하고 html을 파싱하고 href의 htm 문서들의 이름을 알아냈습니다.
그런데 여기서 해당 htm 문서를 들어가는 것을 어떻게 하는 지 모르겠습니다. 거의 튜토리얼 따라할 수 있는 수준이다 보니 웹 구조를 잘 이해못하고 튜토리얼 함수에서 조금만 벗어나면 할 줄을 모릅니다.
지금 각 문서를 접근하는 방법도 모르겠고 그 문서로 들어간 뒤 내용을 CTRL + A 누른 것처럼 복사하는 방법도 모르겠습니다. 엑셀로 저장하는 것은 튜토리얼을 찾아보다보면 있을 것 같은데요. 위 두가지는 어떻게 해야할 지 모르겠습니다. 더 공부 안하고 질문해서 죄송합니다. 부탁드립니다. 감사합니다.
from selenium import webdriver
path= "C:/Users\KIM/Downloads/chromedriver.exe"
driver = webdriver.Chrome(path)
driver.get('https://komyojikyozo.web.fc2.com/')
#print를 찍어서 자신이 찾고자 하는 iframe 어디 있는지 확인합니다.
iframes = driver.find_elements_by_tag_name('frame')
for i in iframes:
print(i)
# 해당 프레임으로 전환
driver.switch_to.frame(iframes[0])
#iframes[0]의 현주소를 받아옵니다.
html = driver.page_source
# html을 파싱합니다.
from bs4 import BeautifulSoup
from urllib.request import urlopen
soup = BeautifulSoup(html, 'html.parser')
# 링크 즉 a 태그들을 가져와서, 이 중에 a 태그를 반복문을 돌면서 href 부분을 출력.
for anchor in soup.find_all('a'):
print(anchor.get('href', '/'))
결과값
top.html
javascript:void(0)
javascript:void(0)
dnskv/dn01/dn01c01.htm
dnskv/dn01/dn01c02.htm
dnskv/dn01/dn01c03.htm
dnskv/dn01/dn01c04.htm
dnskv/dn01/dn01c05.htm
dnskv/dn01/dn01c05.files/sheet001.htm#dn01c05p02
dnskv/dn01/dn01c06.htm
dnskv/dn01/dn01c07.htm
dnskv/dn01/dn01c08.htm
dnskv/dn01/dn01c09.htm
dnskv/dn01/dn01c10.htm
dnskv/dn01/dn01c10.files/sheet001.htm#dn01c10p02
dnskv/dn01/dn01c10.files/sheet001.htm#dn01c10p03
dnskv/dn01/dn01c10.files/sheet001.htm#dn01c10p04
dnskv/dn01/dn01c11.htm
dnskv/dn01/dn01c12.htm
dnskv/dn01/dn01c13.htm
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력