파이썬 Selenium사용 시 Javascript코드 실행하는 방법입니다.
CompanyGuide에서 제공하는 재무제표는 초기 로드시 아래와 같이 세부항목이 숨겨진 상태로 표시됩니다.
+ 아이콘 클릭 시 세부사항이 표시되는 방식입니다.
Selenium으로 Javascript 코드를 실행시켜 세부사항을 표시해보도록 하겠습니다.
Javascript 코드를 실행시키는 코드는 다음과 같습니다.
driver.execute_script("실행시키고자하는 자바스크립트 코드")
전체코드는 다음과 같습니다.
# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome import service
from selenium.webdriver.common.by import By
from webdriver_manager.opera import OperaDriverManager
from selenium.common.exceptions import NoSuchElementException
from time import sleep
webdriver_service = service.Service(OperaDriverManager().install())
webdriver_service.start()
options = webdriver.ChromeOptions()
options.add_argument('--headless') # 헤드레스
options.add_experimental_option('w3c', True)
# options.add_argument('--window-size=1920,1080') # 창 크기
driver = webdriver.Remote(webdriver_service.service_url, options=options)
driver.maximize_window()
driver.implicitly_wait(2)
driver.get(url=f'https://comp.fnguide.com/SVO2/ASP/SVD_Finance.asp?pGB=1&gicode=A005930&cID=&MenuYn=Y&ReportGB=&NewMenuID=103&stkGb=701')
driver.execute_script("javascript:foldOpen('grid1_4');")
hiddentrs = driver.find_elements(By.CLASS_NAME, "c_grid1_4.rwf.acd_dep2_sub")
for tr in hiddentrs:
print(tr.text)
스크립트를 실행시키기전에는 빈 결과값을 돌려받지만
스크립트 실행 후 해당 부분을 수집하면 아래와 같은 결과값을 돌려받을 수 있습니다.
이상, Selenium에서 Javascript 코드를 실행하는 방법이었습니다.
728x90
'플그래밍 > 파이써언' 카테고리의 다른 글
[파이썬] 대문자 소문자 바꾸기 (0) | 2023.05.13 |
---|---|
[파이썬] konlpy 사용 시 JVMNotFoundException오류 (0) | 2023.04.29 |
아나콘다 설치 방법입니다. (0) | 2023.04.09 |
[파이썬] 폴더 내 파일명 추출 - tkinter (0) | 2023.03.26 |
[파이썬] Selenium에서 webdriver 다운로드 콘솔창 가리는 ⚒️방법⚒️ (0) | 2023.03.20 |