λͺ¨κ°μ½ νμ΄μ¬ ν¬λ‘€λ§ 15μΌμ°¨
#15. λμ ν¬λ‘€λ§ β€
π μ κ· νμ κ²μν
XPath μ¬μ© μ΄μ
1. id, classμ ꡬμ λ°μ§ μκ³ ν¬λ‘€λ§μ μ§νν μ μλ€.
2, html μμλ€μ ν¨ν΄μ νμ νκΈ° μ½λ€
β XPathμ ν¨ν΄
μ΅μλ¨ κΈμ XPath
/html/body/div[1]/div/div[4]/table/tbody/tr[1]/td[1]/div[3]/div/a
κ·Έ λ°λ‘ μλ κ²μκΈμ XPath
/html/body/div[1]/div/div[4]/table/tbody/tr[2]/td[1]/div[3]/div/a
μΈλ²μ§Έ κ²μκΈμ XPath
/html/body/div[1]/div/div[4]/table/tbody/tr[3]/td[1]/div[3]/div/a
μ€κ°μ μ‘΄μ¬νλ tr νκ·Έμ λ²νΈκ° νλμ© μ¦κ°νκ³ μλ κ²μ νμΈ
-> μ΄μ²λΌ ν¨ν΄μ νμ νκΈ°κ° κ΅μ₯ν μ¬μ
ν νμ΄μ§μ λͺ¨λ λ°μ΄ν°λ₯Ό λ°μμ€λ μ½λλ₯Ό ꡬνν 보μλ€.
β νμ΄μ¬ μ½λ ꡬν
μ€λμ κ²μκΈμ XPath ν¨ν΄μ μ¬μ©ν΄,
μ κ³Όμ μ¬μ΄μ λ€λ‘κ°κΈ°λ₯Ό μ½μ ν΄ μ€κ²μ΄λ€.
κ²°κ³Όμ μΌλ‘ λ‘κ·ΈμΈ - κ²μν μ΄λ - κ²μκΈ μ§μ - λ΄μ©μΆμΆ - λ€λ‘κ°κΈ° - κ²μκΈ μ§μ - ...
μμλ‘ λ°λ³΅λλ€.
2οΈβ£ λ€λ‘ κ°κΈ°
driver.back()
3οΈβ£ XPath ν¨ν΄μ μ¬μ©ν΄ λ°λ³΅λ¬Έ ꡬν
XPath ν¨ν΄μ μ¬μ©ν΄
15λ²μ§Έ κ²μκΈκΉμ§ λͺ¨λ λ΄μ©μ λ°μμ 보μ
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
import time
chrome_driver = ChromeDriverManager().install()
service = Service(chrome_driver)
driver = webdriver.Chrome(service=service)
login_url = "https://nid.naver.com/nidlogin.login"
driver.get(login_url)
time.sleep(2)
my_id = "ID"
my_pw = "PW"
driver.execute_script("document.getElementsByName('id')[0].value = '" + my_id + "'")
driver.execute_script("document.getElementsByName('pw')[0].value = '" + my_pw + "'")
time.sleep(1)
button = driver.find_element(By.ID, "log.login")
button.click()
time.sleep(1)
comu_url = "https://cafe.naver.com/codeuniv"
driver.get(comu_url)
time.sleep(1)
menu = driver.find_element(By.ID, "menuLink90")
menu.click()
time.sleep(1)
for i in range(1, 16):
xpath = (
"/html/body/div[1]/div/div[4]/table/tbody/tr[" + str(i) + "]/td[1]/div[3]/div/a"
)
driver.switch_to.frame("cafe_main")
time.sleep(1)
writing = driver.find_element(By.XPATH, xpath)
writing.click()
time.sleep(1)
content = driver.find_element(By.CSS_SELECTOR, "div.se-component-content").text
print(content)
driver.back()
time.sleep(1)
driver.close()
μ¬κΈ°μ μ£Όμν μ μ
λ€μ΄λ² μΉ΄νλ νλ μμΌλ‘ ꡬμ±λμ΄ μμ΄
κΈ°λ³Έ ν¬λ‘€λ§ λ°©μμΌλ‘λ κ²μμ΄ λμ§ μλλ€
λ°λΌμ λ°λ³΅λ¬Έ λ΄λΆμ swith_to.frame ν¨μλ₯Ό λ£μ΄, κ²μνμΌλ‘ λμκ° λλ§λ€
μ λ λμμ νμ λ²μλ₯Ό cafe_mainμΌλ‘ λ³κ²½ν΄μ£Όμ΄μΌ νλ€.
βμ 리νκΈ°β
β λ€λ‘κ°κΈ°
β XPathμ ν¨ν΄ νμ