데이터 수집 [ Web crawling ]
[Selenium] 창전환이 발생할 때 -FuGuide 가 제공하는 기업 정보 스크래핑
on_doing
2020. 9. 7. 21:47
728x90
url : http://comp.fnguide.com/
삼성전자(A005930) | Snapshot | 기업정보 | Company Guide
삼성전자 005930 | 홈페이지 홈페이지http://www.samsung.com/sec 전화번호 전화번호031-200-1114 | IR 담당자 02)2255-9000 주소 주소경기도 수원시 영통구 삼성로 129 (매탄동) KSE 코스피 전기,
comp.fnguide.com
* FuGuide는 다른 페이지로 이동할 때 새창(팝업창)에 값이 출력됩니다.
이때 팝업된 창의 정보를 가져오기 위해선 별도의 명령을 사용해야합니다!
from selenium import webdriver
driver=webdriver.Chrome('chromedriver.exe')
driver.get('http://comp.fnguide.com/SVO2/ASP/SVD_main.asp?pGB=1&gicode=A005930&cID=&MenuYn=Y&ReportGB=&NewMenuID=11&stkGb=&strResearchYN=')
page=driver.find_element_by_css_selector('#topChart01')
page.click()
print(driver.window_handles) # 윈도우를 구분하기위해 여기에 리스트 형태로 윈도우 순서대로 저장되어있음
위 코드 실행시 driver.window_handles 코드를 출력해보면 위와같이 두개의 값이 출력됩니다.
이것은 selenium을 통해 현재 열려있는 창을 구분하기위해 리스트 형태로 차례로 담겨있는 것을 알 수 있습니다.
참고로 0번째, 1번째... 이런식의 순서로 저장됩니다.
driver.switch_to.window(driver.window_handles[1]) # 윈도우 창 이동
data=driver.find_elements_by_css_selector('#chartDataGrid > table > tbody > tr > td:nth-child(2)')
for data in data:
print(data.text)
driver.switch_to.window(driver.window_handles[0]) #메인 윈도우로 돌아오기
driver.quit()
728x90