셀레니움 접속 후, 엘리먼트를 찾아도 안되는 경우들이 있다. 네이버 홈화면 우측에 보이는 쇼핑몰들이 대표적인데,
이럴 때는 iframe 이동처리를 해야함
네이버 쇼핑
from selenium import webdriver
import time
import random
# 다운받은 webdriver의 경로설정
driver = webdriver.Firefox(executable_path='D:/OneDrive - JaeSeo/blog/seleninum/python/webdriver/geckodriver.exe')
# 네이버로 이동
driver.get("https://www.naver.com")
driver.implicitly_wait(5)
driver.switch_to_frame('cnsv_shbx')
print(driver.find_element_by_xpath('/html/body/div/div[2]/div/div/div/div/div/ul/li[1]/a/p').text,"\n")
time.sleep(random.uniform(4,5))
for i in range(int(driver.find_element_by_xpath('/html/body/div/div[2]/div/div/div/div/div/div[1]/em').text.split('/')[1])-1):
time.sleep(random.uniform(1,2))
driver.find_element_by_xpath('//*[@id="prod_page_next"]').click()
print(driver.find_element_by_xpath('/html/body/div/div[2]/div/div/div/div/div/ul/li[1]/a/p').text,"\n")
driver.quit()
댓글