์ถ์ฒ : ํ๊ตญ์์ ๊ณต์ฌ ์คํผ๋ท
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome('chromedriver') #Chrome driver๋ฅผ ๋ถ๋ฌ์์ driver ๋ณ์์ ์ ์ฅํ๋ค.
driver.get("https://www.opinet.co.kr/searRgSelect.do")
# driver์ url์ ์ ์์์ผ webdriver๋ฅผ ํจ๋ค.
time.sleep(2) # ์นํ์ด์ง๋ฅผ ํค๊ณ ๋ฐ๋ก ์๋ํ๋ฉด ์ธํฐ๋ท ์๋ ๋ฑ ์๋ฅ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์
# 2์ด ์ฐ๋ค.
- ํด๋น ํ์ด์ง์์ ์ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด ๋จผ์ ์/๋๋ฅผ ์ ํํ ํ ์/๊ตฐ/๊ตฌ๋ฅผ ์ ํํด ์กฐํ๋ฅผ ๋๋ฅด๊ณ ์์ง๋ ๊ฐ๊ฒฉ์ ์์ ์ ์ฅ ๋ฒํผ์ ํด๋ฆญํ์ฌ ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
- ๋ฐ๋ผ์ ์/๋ ๋ชฉ๋ก๊ณผ ์/๊ตฐ/๊ตฌ ๋ชฉ๋ก์ ๋จผ์ ์ถ์ถํ ๋ค ์ป์ด์จ ๋ชฉ๋ก์ผ๋ก ๋ฐ๋ณต๋ฌธ์ ์ํํ๋ฉด์ ์กฐํ๋ฅผ ๋๋ฅด๊ณ ์์ ์ ์ฅ์ ๋๋ฅด๋ ์๋ํ๋ ์น ํฌ๋กค๋ฌ๋ฅผ ๊ตฌ์ถํด์ผ ํฉ๋๋ค.
sido = driver.find_element(By.XPATH, '//*[@id="SIDO_NM0"]')
#Xpath๋ฅผ ํ์ฉํด ์/๋์ ์๋ ๋ชจ๋ element๋ฅผ ๋ถ๋ฌ์จ ํ ์ ์ฅํ๋ค.
sido_names = sido.find_elements(By.TAG_NAME,'option')
#Tag_name์ ํ์ฉํด ์/๋์ ์๋ ๋ชจ๋ option ๊ฐ์ sido_names ๋ณ์์ ์ ์ฅํ๋ค.
sido_list = [] #sido_list๋ผ๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด ์ด๊ธฐํ ์์ผ์ค๋ค.
for sido_name in sido_names : # ์ ์ฅ๋ sido_names๋ฅผ for๋ฌธ์ ์ฌ์ฉํ์ฌ
sido_list.append(sido_name.get_attribute('value')) # appendํจ์๋ฅผ ์ฌ์ฉํด sido_list์ ์ ์ฅํ๋ค.
sido_list = sido_list[1:] # ํ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ด๋ค.
sigungu = driver.find_element(By.XPATH, '//*[@id="SIGUNGU_NM0"]')
#Xpath๋ฅผ ํ์ฉํด ์/๊ตฐ/๊ตฌ์ ์๋ ๋ชจ๋ element๋ฅผ ๋ถ๋ฌ์จ ํ ์ ์ฅํ๋ค.
sigungu_names = sigungu.find_elements(By.TAG_NAME,'option')
#Tag_name์ ํ์ฉํด ์/๊ตฐ/๊ตฌ์ ์๋ ๋ชจ๋ option ๊ฐ์ sigungu_names ๋ณ์์ ์ ์ฅํ๋ค.
sigungu_list = [] #sigungu_list๋ผ๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด ์ด๊ธฐํ ์์ผ์ค๋ค.
for sigungu_name in sigungu_names : # ์ ์ฅ๋ sigungu_name์ for๋ฌธ์ ์ฌ์ฉํ์ฌ
sigungu_list.append(sigungu_name.get_attribute('value')) # appendํจ์๋ฅผ ์ฌ์ฉํด sigungu_name์ ์ ์ฅํ๋ค.
sigungu_list = sigungu_list[1:] # ํ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ด๋ค.
# "์กฐํ" ๋ฒํผ์ xpath๋ฅผ ์ฐพ์์ ํด๋ฆญํ๋ค.
driver.find_element(By.XPATH, '//*[@id="searRgSelect"]').click()
# "์์
์ ์ฅ" ๋ฒํผ์ xpath๋ฅผ ์ฐพ์์ ํด๋ฆญํ๋ค.
driver.find_element(By.XPATH, '//*[@id="glopopd_excel"]').click()
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome('chromedriver') #Chrome driver๋ฅผ ๋ถ๋ฌ์์ driver ๋ณ์์ ์ ์ฅํ๋ค.
driver.get("https://www.opinet.co.kr/searRgSelect.do")
# driver์ url์ ์ ์์์ผ webdriver๋ฅผ ํจ๋ค.
time.sleep(2) # ์นํ์ด์ง๋ฅผ ํค๊ณ ๋ฐ๋ก ์๋ํ๋ฉด ์ธํฐ๋ท ์๋ ๋ฑ ์๋ฅ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์
# 2์ด ์ฐ๋ค.
sido = driver.find_element(By.XPATH, '//*[@id="SIDO_NM0"]')
#Xpath๋ฅผ ํ์ฉํด ์/๋์ ์๋ ๋ชจ๋ element๋ฅผ ๋ถ๋ฌ์จ ํ ์ ์ฅํ๋ค.
sido_names = sido.find_elements(By.TAG_NAME,'option')
#Tag_name์ ํ์ฉํด ์/๋์ ์๋ ๋ชจ๋ option ๊ฐ์ sido_names ๋ณ์์ ์ ์ฅํ๋ค.
sido_list = [] #sido_list๋ผ๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด ์ด๊ธฐํ ์์ผ์ค๋ค.
for sido_name in sido_names : # ์ ์ฅ๋ sido_names๋ฅผ for๋ฌธ์ ์ฌ์ฉํ์ฌ
sido_list.append(sido_name.get_attribute('value')) # appendํจ์๋ฅผ ์ฌ์ฉํด sido_list์ ์ ์ฅํ๋ค.
sido_list = sido_list[1:] # ํ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ด๋ค.
for sido_name in sido_list : # for๋ฌธ์ ์ด์ฉํด์ ๊ฐ์ ธ์จ ์/๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
sido = driver.find_element(By.XPATH, '//*[@id="SIDO_NM0"]') # ํ์ด์ง๊ฐ ๋ก๋ฉ๋ ๋ ๋ง๋ค xpath๋ฅผ ์ฐพ์ผ๋ฉด์
# for๋ฌธ์ ๋๋ ค์ค์ผ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
sido.send_keys(sido_name) #์/๋ ๋ฐ์ดํฐ๋ฅผ ์นํ์ด์ง์ ์ ๋ฌํ๋ค.
time.sleep(2) # 2์ด ์ฐ๋ค.
sigungu = driver.find_element(By.XPATH, '//*[@id="SIGUNGU_NM0"]') # ์/๊ตฐ/๊ตฌ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋ Xpath๋ฅผ ์ฐพ์์
# sigungu ๋ณ์์ ์ ์ฅํ๋ค.
sigungu_names = sigungu.find_elements(By.TAG_NAME,'option') #sigungu์์ 'Option' ์ ํด๋นํ๋ elements๋ฅผ
#sigungu_names ๋ณ์์ ์ ์ฅํ๋ค.
sigungu_list = [] #sigungu_list๋ผ๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด ์ด๊ธฐํ ์์ผ์ค๋ค.
for sigungu_name in sigungu_names : #for๋ฌธ์ ์ด์ฉํ์ฌ ๊ฐ์ ธ์จ ์/๊ตฐ/๊ตฌ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
sigungu_list.append(sigungu_name.get_attribute('value')) # appendํจ์๋ฅผ ์ฌ์ฉํด sigungu_list์ ์ ์ฅํ๋ค.
sigungu_list = sigungu_list[1:] # ํ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ด๋ค.
for sigungu_name in sigungu_list :
sigungu = driver.find_element(By.XPATH, '//*[@id="SIGUNGU_NM0"]')
time.sleep(2)
sigungu.send_keys(sigungu_name) #์/๊ตฐ/๊ตฌ ๋ฐ์ดํฐ๋ฅผ ์นํ์ด์ง์ ์ ๋ฌํ๋ค.
time.sleep(2)
driver.find_element(By.XPATH, '//*[@id="searRgSelect"]').click() #์กฐํ ๋ฒํผ์ xpath๋ฅผ ๋ถ๋ฌ์ ํด๋ฆญํ๋ค.
time.sleep(2)
driver.find_element(By.XPATH, '//*[@id="glopopd_excel"]').click() #์์
์ ์ฅ ๋ฒํผ์ xpath๋ฅผ ๋ถ๋ฌ์ ํด๋ฆญํ๋ค.
time.sleep(2)