Seleniumで取得したデータをfor文で一つずつ取り出したい
やりたいこと
Seleniumで下記のサイトからスクレイピングしようとしています。
該当するソースコード
from selenium.webdriver import Chrome, ChromeOptions
import time
import re
options = ChromeOptions()
driver = Chrome(options=options)
driver.get('https://nba.rakuten.co.jp/games/22200952')
time.sleep(2)
click_elem = driver.find_element_by_xpath('//*[@id="App"]/div[2]/div[2]/div/div[1]/div/div[7]/div/div[1]/div/div[3]/div/div/h2')
click_elem.click()
time.sleep(2)
timelines = driver.find_elements_by_css_selector("#App > div.App-content > div.App-main > div > div.lDefaultMain.lDefault-main > div > div.pGamesDetail-main > div > div.bTabsBody > div > div > div > div > div > div > div.GamePlayByPlayList-main > div:nth-child(1) > div > div > div.bAccordionBody > div > div.GamePlayByPlayTimeLine-allList-body > ul")
for timeline_li in timelines:
i = 2
timeline = timeline_li.find_elements_by_css_selector(f"li:nth-child({i}) > div > div.GameCard4 > p")
i += 1
time.sleep(2)
for i in range(len(timeline)):
print(timeline[i].text)
driver.quit()
結果
Jump Ball Jackson Jr. vs Jackson Jr. (Gordon gains possession)
解決したいこと
for timeline_li in timelines:
i = 2
timeline = timeline_li.find_elements_by_css_selector(f"li:nth-child({i}) > div > div.GameCard4 > p")
i += 1
time.sleep(2)
for i in range(len(timeline)):
print(timeline[i].text)
このソースコードから、実況のページのStart Periodから下に続くテキストを一つずつ取り出していきたいのですが、上記の結果のように1つ目のテキストしか取得できませんでした。
・1つ目のテキストしか取り出せない理由
・解決策、アドバイス
があれば是非教えてください。
0