반응형
셀레니움에서 크롤링 코드 맞게쳤는데도 값이 안나오면 프레임이 있는지 확인해보고 바꿔줘야함.
셀레니움이 참 멍청한건지 프레임이 다르면 값을 가져오질 못하더라고...
그래서 프레임을 변경해줘야한다.
# 메인프레임변경해주기
driver.switch_to.frame('coinfo_cp')
예시) 네이버 금융 재무재표 가져올 때

기존 코드
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome('C:\chromedriver99.exe')
url = 'https://finance.naver.com/item/coinfo.naver?code=000660'
driver.get(url)
# 유보율 xpath
ubo = "/html/body/div/form/div[1]/div/div[2]/div[3]/div/div/div[14]/table[2]/tbody/tr[13]/td[7]/span"
ubo_result = driver.find_element_by_xpath(ubo)
print(ubo_result.text)
변경
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome('C:\chromedriver99.exe')
url = 'https://finance.naver.com/item/coinfo.naver?code=000660'
driver.get(url)
# 메인프레임변경해주기
driver.switch_to.frame('coinfo_cp')
# 켜질 때 까지 최대 10초 기다린다.
driver.implicitly_wait(10)
# 유보율 xpath
ubo = "/html/body/div/form/div[1]/div/div[2]/div[3]/div/div/div[14]/table[2]/tbody/tr[13]/td[7]/span"
ubo_result = driver.find_element_by_xpath(ubo)
print(ubo_result.text)
값 잘나옴

반응형
'개발 > python' 카테고리의 다른 글
셀레니움 스크롤 끝까지 내리기 (0) | 2022.04.06 |
---|---|
크롤링 영어 나올 때 한글로 바꾸기 (0) | 2022.04.06 |
아나콘다 쓸 때 화면 넓게보기 (0) | 2022.04.06 |
데이터프레임 행 세로로 들어갈 때(리스트) (0) | 2022.04.06 |
네이버 뉴스 댓글 크롤링 + 워드클라우드 만들기 (5) | 2022.04.06 |