from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager
# 설정
is_headless = False
url = 'https://m.sports.naver.com/kbaseball/schedule/index?date=2023-03-28'
options = Options()
if is_headless:
options.headless = True
options.add_argument('--headless')
options.add_experimental_option("detach", True)
service = Service(executable_path=ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)
driver.maximize_window()
wait = WebDriverWait(driver, 10)
driver.get(url)
iter_wait_el = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#content > div > div:nth-child(4) > div > ul > li')))
iter_els = driver.find_elements(By.CSS_SELECTOR, '#content > div > div:nth-child(4) > div > ul > li')
round_list = []
for el in iter_els:
left_team_info_el = el.find_element(By.CSS_SELECTOR, 'div > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > strong')
left_team_score_el = el.find_element(By.CSS_SELECTOR, 'div > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > strong:nth-child(2)')
right_team_info_el = el.find_element(By.CSS_SELECTOR, 'div > div:nth-child(2) > div:nth-child(3) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > strong')
right_team_score_el = el.find_element(By.CSS_SELECTOR, 'div > div:nth-child(2) > div:nth-child(3) > div:nth-child(2) > strong:nth-child(2)')
left_team_name = ''
left_team_score = ''
right_team_name = ''
right_team_score = ''
if left_team_info_el: left_team_name = left_team_info_el.text.strip()
if left_team_score_el: left_team_score = left_team_score_el.text.strip()
if right_team_info_el: right_team_name = right_team_info_el.text.strip()
if right_team_score_el: right_team_score = right_team_score_el.text.strip()
round_list.append('{} {} vs {} {}'.format(left_team_name, left_team_score, right_team_name, right_team_score))
print(round_list)